题解 | 密码截取
密码截取
https://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1
s = input()
def longest_palindromic_substring(s):
n = len(s)
if n < 2:
return n
# start = 0
max_len = 1
def expand_around_center(left, right):
while left >= 0 and right < n and s[left] == s[right]:
left -= 1
right += 1
return right - left - 1
for i in range(n):
len1 = expand_around_center(i, i) # 以单个字符为中心扩展
len2 = expand_around_center(i, i + 1) # 以两个字符为中心扩展
current_len = max(len1, len2)
if current_len > max_len:
max_len = current_len
# start = i - (current_len - 1) // 2
return max_len
#若要输出最长回文子串内容则需要start
#return s[start:start + max_len]
result = longest_palindromic_substring(s)
print(result)
