class Solution:
def longestPalindrome(self, s: str) -> str:
n = len(s)
def find(i, j):
if i != j and s[i] != s[j]:
return 0,-1
while (
0 <= i <= n -1
and 0 <= j <= n -1
and s[i] == s[j]
and 0 <= i - 1 <= n -1
and 0 <= j + 1 <= n -1
and s[i - 1] == s[j + 1]
):
i -= 1
j += 1
return i,j
index = 0
max_len = 1
res = s[0]
while index<=n-1:
left = floor(index)
right = ceil(index)
left,right = find(left,right)
if right - left + 1 > max_len:
res = s[left:right+1]
max_len = right - left + 1
index += 0.5
return res
标签:子串,right,return,Python,max,len,str,回文
From: https://www.cnblogs.com/DCFV/p/18418090