M-5. Longest Palindromic Substring
# O(n^2), O(1)
class Solution:
def longestPalindrome(self, s: str) -> str:
if not s:
return ''
def check(left, right):
while left >= 0 and right <len(s) and s[right] == s[left]:
left -= 1
right += 1
return s[left+1:right]
res = ''
for i in range(len(s)-1):
res = max(check(i,i), check(i,i+1), res, key=len)
return res
Last updated
Was this helpful?