题解 | #最长回文子串#

最长回文子串

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)

全部评论

相关推荐

牛客49732338...:同志们,已拿下
我的OC时间线
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务