代码思路:利用动态规划算法思路,若“aba”为回文,则去头去尾,“a”亦必为回文,将字符串每个点作为一回文,搜索符合条件的二回文、三回文。。。存储最长回文并返回
class Solution:
def longestPalindrome(self, s: str) -> str:
res=""
n=len(s)
if n==1:
return s
tempMax=float('-inf')
for k in range(n-1):
i=k
j=i
while j+1<n and s[j+1]==s[i]:
j+=1
while j+1<n and i-1>-1 and s[i-1]==s[j+1]:
j+=1
i-=1
if j-i>tempMax:
res=s[i:j+1]
tempMax=j-i
return res