题解 | #密码截取#

密码截取

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))

全部评论

相关推荐

不愿透露姓名的神秘牛友
10-25 11:34
大飞的诡术妖姬:看岔了,还以为这公司要避雷,没绷住
点赞 评论 收藏
分享
牛客5655:其他公司的面试(事)吗
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务