题解 | #最长回文子串#

最长回文子串

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

#两层循环,暴力破解
while True:
    try:
        s = input()
        res = []
        
        for i in range(len(s)):
            for j in range(i+1, len(s)+1):
                if s[i:j] == s[i:j][::-1]:
                    res.append(j-i)
        if res != '':
            print(max(res))
    except:
        break
#另一种方法:
while True:
    try:
        s = input()   #输入
        len_s = len(s)  
        result=0   #初始化最后的结果
        for n in range(len_s):   #从第一个字符开始搜索最长的字符串
            max_length = result+1  #max_length代表搜索字符串的长度,所以只搜索大于result的字符串
            while n+max_length<=len_s:  #代表搜索完以第n+1个字符串开头的所有字符串
                if s[n:n+max_length] == s[n:n+max_length][::-1]:  #如果满足是回文字符串
                     result = max_length   #则此时最大的字符串长度变为max_length
                max_length +=1   #每次增加字符串的长度1
        if result !=0:   #防止空字符串
            print(result)
    except:
        break

全部评论

相关推荐

2025-12-28 16:32
重庆邮电大学 Java
程序员花海:1.技能放最后,来面试默认你都会,技能没啥用 2.实习写的看起来没啥含金量,多读读部门文档,包装下 接LLM这个没含金量 也不要用重构这种 不会给实习生做的 3.抽奖这个还是Demo项目,实际在公司里面要考虑策略,满减,触发点,触发规则 库存 之类的,不是这个项目这么简单 4.教育背景提前,格式为 教育背景 实习 项目 技能 自我评价
简历被挂麻了,求建议
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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