5. Longest Palindromic Substring
Given a string s
, return the longest palindromic substring in s
.
def longestPalindrome(s: str) -> str:
L = len(s)
dp = [[False]*L for _ in range(L)]
for d in range(L):
dp[d][d] = True
ans = s[0]
max_len = 1
for i in range(L):
for j in range(i):
if s[i] == s[j] and (dp[j+1][i-1] == True or i == j+1):
dp[j][i] = True
if i-j+1 > max_len:
max_len = i-j+1
ans = s[j:j+max_len]
return ans
Comments
Post a Comment