TestDrivenCode.com
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]