题解 | #最长回文子串#

最长回文子串

http://www.nowcoder.com/practice/12e081cd10ee4794a2bd70c7d68f5507

alt

参考B站一位UP主,看了不下十遍了 https://www.bilibili.com/video/BV1d7411U7dw?share_source=copy_web

while True :
    try:
        s = input()
        res = ''
        # 遍历字符赤岸中所有的下标
        for i in range(len(s)):
            start = max(0,i-len(res)-1) # 指向候选字符串1的位置
            #当前位置i下,找到start,使得start到i所形成的字符串比当前res字符串的长度要长1。因为i-len res-1 如果是负数 -1的时候没有意义,要保证其至少是0
            # 候选字符串1,短字符串,头尾都加1
            # 候选字符串2,只有左边边加1
            temp = s[start : i+1]
            # 分两种情况 奇数和偶数
            if temp == temp[::-1]: # 偶数回文字符串正反相同
            # 当字符串1是回文字符串的时候,就不需要判断字符串2,字符串1更长
                res = temp
            else:
            # 当候选字符串不是回文的时候,判断字符串2
                temp = temp[1:]
                if temp == temp[::-1]:
                    res = temp
        print(len(res))
    except:
        break

全部评论

相关推荐

头像
11-06 10:58
已编辑
门头沟学院 嵌入式工程师
双非25想找富婆不想打工:哦,这该死的伦敦腔,我敢打赌,你简直是个天才,如果我有offer的话,我一定用offer狠狠的打在你的脸上
点赞 评论 收藏
分享
双非一本失业第二年:《机器视觉垃圾分类》
点赞 评论 收藏
分享
头像
11-27 14:28
长沙理工大学
刷算法真的是提升代码能力最快的方法吗? 刷算法真的是提升代码能力最快的方法吗?
牛牛不会牛泪:看你想提升什么,代码能力太宽泛了,是想提升算法能力还是工程能力? 工程能力做项目找实习,算法也分数据结构算法题和深度学习之类算法
点赞 评论 收藏
分享
评论
7
4
分享
牛客网
牛客企业服务