class Solution:
def longestPalindrome(self, s: str) -> str:
n = len(s)
l, r = 0, 0
dp = [[False] * n for _ in range(n)]
for i in range(n):
dp[i][i] = True
for j in range(1,n):
for i in range(j):
if j - i == 1 and s[i] == s[j]:
dp[i][j] = True
if 2 > r - l + 1:
l, r = i, j
elif j - i > 1 and s[i] == s[j] and dp[i+1][j-1] == True:
dp[i][j] = True
if j - i + 1 > r - l + 1:
l, r = i, j
return s[l:r+1]
02-25
609

04-22
623

12-16
1528

12-21
525
