class Solution:
def longestPalindrome(self, s: str) -> str:
max_len = 1
# 从第二个字符开始判断
d = {}
if len(s) == 1:
return s
mark = 0
for i in range(1, len(s)):
if i - max_len >=0 and s[i - max_len: i + 1] == s[i - max_len: i + 1][::-1]:
d['st'] = i - max_len
d['en'] = i + 1
max_len += 1
mark = 1
if i - max_len - 1 >= 0 and s[i - max_len - 1: i + 1] == s[i - max_len - 1: i + 1][::-1]:
d['st'] = i - max_len - 1
d['en'] = i + 1
max_len += 2
mark = 1
if mark == 0:
return s[0]
return s[d['st']: d['en']]
03-28
270
05-21
245
12-15
2551