题解 | #密码截取#
密码截取
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))