Python程序设计之实现最短回文字符串

1.输出最短回文情况:
输入:abc
输出:cbabc

输入:aac
输出:caac
2.解题思路:
①先对原始字符串进行逆序,得到新的字符串
②通过对新的字符串进行追加方式形成最短回文字符串

3.代码如下:
①先判断原始字符串是否为回文字符串:
通过将原始字符串逆序再与原始字符串比较即可

def judge(s):
    s1=s[::-1]
    m=0
    for i in range(len(s)):
        if s[i]==s1[i]:
            m+=1
    if m==len(s):
        return True
    return False

②输入字符串,调用判断函数:

i=str(input('请输入一个字符串,:'))
if not judge(i):
    s1 = i[::-1]

③将原始字符串第一个字符和逆序字符串最后一个字符比较,相等就pass,否则就append,即可:

m=0
if not judge(s1):
      while s1[len(s1)-1]==i[m] and m<len(i):
          m+=1
        s2=s1+i[m:len(i)]
    print(s2,end='\n')
else:
    print(i,end='\n')

运行效果:
Python程序设计之实现最短回文字符串_第1张图片

代码链接:
https://download.csdn.net/download/qxyloveyy/12203810

你可能感兴趣的:(Algorithmic,strategies,字符串,python,算法,leetcode)