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

密码截取

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
全部评论

相关推荐

2 1 评论
分享
牛客网
牛客企业服务