题解 | #密码截取#
https://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1
s= input() out = 0 #通过全局变量out保留最长字符串的长度 for i in range(0, len(s)): # 双指针,遍历每一个字符。 k = i - 1 j = i + 1 len_ABA = 1 while k >= 0 and j < len(s): if s[k] == s[j]: #如果前一位和后一位相同,则通过while局部深度循环,直到获得最大的前i位和后i位相同的字符串长度 k -= 1 j += 1 len_ABA += 2 else: break k = i j = i + 1 len_ABBA = 0 while k >= 0 and j < len(s): if s[k] == s[j]: #如果前一位和后一位相同,则通过while局部深度循环,直到获得最大的前i位和后i位相同的字符串 k -= 1 j += 1 len_ABBA += 2 else: break now_len = max(len_ABA, len_ABBA) if out <now_len: #如果局部获得的字符串长度长于之前获得的out,则刷新该全局变量。 out = now_len print(out)