题解 | #最长回文子串#
最长回文子串
https://www.nowcoder.com/practice/12e081cd10ee4794a2bd70c7d68f5507
mystr=input() n=len(mystr) dp=[[0]*n for _ in range(n)] for i in range(n): dp[i][i]=1 #如果一个字符串为回文,那么首尾去掉两个字母也是回文 max_len=0 for j in range(1,n): for i in range(n): if mystr[i]!=mystr[j]: dp[i][j]=0 else: if j-i<3: dp[i][j]=1 else: dp[i][j]=dp[i+1][j-1] if dp[i][j] and j-i+1>max_len: max_len=j-i+1 print(max_len)