题解 | #最长回文子串#
最长回文子串
https://www.nowcoder.com/practice/b4525d1d84934cf280439aeecc36f4af
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param A string字符串
# @return int整型
#
class Solution:
def getLongestPalindrome(self , A: str) -> int:
# write code here
n = len(A)
dp=[[False]*n for _ in range(n)]
for i in range(n):
dp[i][i]=True
max_length=0
if len(A)==1:
return 1
for L in range(1,n+1):
for i in range(n-L+1):
if A[i]==A[i+L-1]:
if L<=2:
dp[i][i+L-1]=True
max_length = max(max_length,L)
else:
if dp[i+1][i+L-2]:
dp[i][i+L-1]=True
max_length = max(max_length,L)
else:
dp[i][i+L-1]=False
return max_length
查看17道真题和解析
