题解 | #密码截取#

密码截取

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

l=input()
list=[]
for i in range(1,len(l)-1):
    if l[i]==l[i+1]: #判断符合第一种回文:ABBA
        for x in range(0,len(l)):
            if i-x<0 or i+1+x>int(len(l)-1):#判断是否超出扩列第一个和最后一个范围
                x = x + x #记录回文长度
                list.append(x)
                break
            if l[i-x]!=l[i+1+x]:#左右不再相等,跳出循环
                x=x+x #记录回文长度
                list.append(x)
                break
    if  l[i-1]==l[i+1]: #判断符合第二种回文:BACAB
        for x in range(0,len(l)):
            if i-x<0 or i+x>int(len(l)-1):#判断是否超出扩列第一个和最后一个范围
                x = x + x - 1
                list.append(x)
                break
            if l[i-x]!=l[i+x]:
                x=x+x-1
                list.append(x)
                break
print(max(list))

全部评论

相关推荐

Morpheus_:同 好奇什么题() 不过我一面确实是不想要直说了 xs
腾讯求职进展汇总
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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