python最大回文子串
时间: 2023-11-13 15:56:51 浏览: 109
python 实现最长回文子串
求一个字符串的最大回文子串可以使用中心扩展算法,具体步骤如下:
1. 遍历字符串,以每个字符为中心,向左右两边扩展,找到以该字符为中心的最大回文子串。
2. 记录下每个最大回文子串的起始位置和长度。
3. 遍历完整个字符串后,找到长度最长的回文子串即可。
下面是 Python 代码实现:
```python
def longest_palindrome(s: str) -> str:
if not s:
return ""
n = len(s)
start, end = 0, 0
for i in range(n):
# 以 s[i] 为中心向左右扩展
left, right = i, i
while left >= 0 and s[left] == s[i]:
left -= 1
while right < n and s[right] == s[i]:
right += 1
while left >= 0 and right < n and s[left] == s[right]:
left -= 1
right += 1
if right - left - 1 > end - start:
start, end = left + 1, right - 1
return s[start:end+1]
```
阅读全文