b_wy_小易唉回文(思维)
小易可以在字符串尾部加入任意数量的任意字符,使其字符串变成回文串。现在请你编写一个程序,程序要能计算出小易可以得到的最短回文串。
思路:问题一定存在解,因为大不了将整个字符串反转再拼接,而noo,这种中间有重复字符的字符串,我们只需反转一下,然后不断截取子串拼接即可
def chk(s):
i,j=0,len(s)-1
while i<j:
if s[i]!=s[j]: return False
i,j=i+1,j-1
return True
def solve(s: str):
t = s[::-1]
if s == t:
return s
for i in range(len(t)-1,-1,-1):
seq=s+t[i:]
if chk(seq):
return seq
return ""
print(solve(input()))