题解 | #密码截取#最长回文子串

密码截取

http://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1

先找到短的字符串,再找长的字符串,

回文字符串有奇数 偶数之分

找到较短的回文字符串res,再找长的回文字符串的时候,分两种情况,比短的字符串,长2 和长1

当确定候选的字符串也是回文字符串时,将res更新为新的字符串

遍历完所有字符串后,res为最长字符串


while True:
    try:
        s = input()
        res = ''
        for i in range(len(s)):
            start = max(0,i-len(res)-1)
            temp = s[start : i+1]
            # 分两种情况 奇数和偶数
            if temp == temp[::-1]: # 回文字符串正反相同
                res = temp
            else:
                temp = temp[1:]
                if temp == temp[::-1]:
                    res = temp
        print(len(res))
    except:
        break
全部评论

相关推荐

点赞 评论 收藏
分享
星辰再现:裁员给校招生腾地方
点赞 评论 收藏
分享
06-16 15:04
黑龙江大学 Java
零OFFER战士:另一个版本查看图片
点赞 评论 收藏
分享
评论
4
1
分享

创作者周榜

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