leetcode第5题:最长回文子串
我的思路是:既然是子串,那么一定是连续的,我从最长的子串开始,逐渐递减字串长度,确定子串长度下,利用循环让子串从左往右移动并判断是否是回文串,由于题目要求只需要找出一种即可,那么一旦出现回文串,必定是最长子串。
我的问题是:当字符串为"122",这类情况时都不能正确输出,请帮我看看,感谢。
def longestPalindrome(s)
n=len(s)
while n>1:
left=0 #子串从最左边开始
right=n-1#子串的右边与子串长度相关
ifright<len(s)
#断是否是回文串
ifleft==0:
ifs[left:right+1]==s[right::-1]:
return(sfleft:left+n])
else:
if s[left:right+1]==s[right:left-1:-11
return(s[left:left+n])
right+=1 #子串向后移动
left+=1
n-=1#字串长度递减
return("最长回文字串长度为1,为任一字符")