题解 | #密码截取#
密码截取
http://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1
while 1: try: a=input() # 设置初始步长 bc=0 # 逆序比较 if a==a[::-1]: print(len(a)) else: # 不断增加步长,比较回文 #每次增加步长,循环查找有没有比这个步长更长的回文,如果有,继续找,直到找完所有的回文为止 for i in range(len(a)): # 优先查看两个增加两个长度的回文是否存在 if i-bc>=1 and a[i-bc-1:i+1]==a[i-bc-1:i+1][::-1]: bc+=2 # 如果增加两个长度的没找到,再查看两个增加一个长度的回文是否存在 elif i-bc>=0 and a[i-bc:i+1]==a[i-bc:i+1][::-1]: bc+=1 print(bc) except: break