最长回文子串

字符串运用-密码截取

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

leetcode第五题
按照奇偶顺序,找到最长的list即可。
代码逻辑非常简单

def longp(s):
    res = ''
    for i in range(len(s)):
        #先判定奇数的,从i开始左右对比
        tmp = helper(s,i,i)
        if len(tmp) > len(res):res = tmp
        #再判定偶数的,从i和i+1开始对比
        tmp = helper(s,i,i+1)
        if len(tmp) > len(res):res = tmp
    print(len(res))

def helper(s,l,r):
    while l >= 0 and r < len(s) and s[l] == s[r]:
        l -= 1
        r += 1
    return s[l+1:r]

while True:
    try:
        s = input()
        longp(s)
    except:
        break
全部评论
1 回复 分享
发布于 2021-02-08 17:24
这个方法太牛了,没有任何多余的步骤,请收下我的膝盖
点赞 回复 分享
发布于 2022-06-06 21:58
为什么是return str[l+1:r] 为什么是+1?
点赞 回复 分享
发布于 2023-01-03 17:02 河北
这就是传说中的中心扩散法吗?
点赞 回复 分享
发布于 2023-02-01 20:31 北京

相关推荐

一天代码十万三:实习东西太少了,而且体现不出你业务,3个月不可能就这点产出吧,建议实习多写点,玩具项目面试官都不感兴趣的
点赞 评论 收藏
分享
评论
50
4
分享

创作者周榜

更多
牛客网
牛客企业服务