编写函数,接收一个字符串,返回其中最长的字串
时间: 2024-05-07 11:17:47 浏览: 104
好的,我可以为您编写这个函数。以下是 Python 代码示例:
```python
def longest_substring(s):
"""
接收一个字符串,返回其中最长的字串
"""
if not s:
return ""
n = len(s)
start = max_len = 0
for i in range(n):
if i - max_len >= 1 and s[i - max_len - 1:i + 1] == s[i - max_len - 1:i + 1][::-1]:
start = i - max_len - 1
max_len += 2
continue
if i - max_len >= 0 and s[i - max_len:i + 1] == s[i - max_len:i + 1][::-1]:
start = i - max_len
max_len += 1
return s[start:start + max_len]
```
这个函数使用了中心扩散算法,时间复杂度为 $O(n^2)$。
阅读全文