Author
Result
0.1174 s
Code
def longest_palindrome(s: str) -> str:
if not s:
return ""
start = 0
max_len = 1
def expand(left, right):
while left >= 0 and right < len(s) and s[left] == s[right]:
left -= 1
right += 1
return right - left - 1
for i in range(len(s)):
l1 = expand(i, i)
l2 = expand(i, i+1)
cur = max(l1, l2)
if cur > max_len:
max_len = cur
start = i - (max_len - 1) // 2
return s[start:start + max_len]