LeetCode百题【回文子串】
题目描述
解法一
暴力破解法
- 列出所有子串
- 判断子串是否为回文串
1 |
|
- 时间复杂度为O(n^3)
- 遍历所有子串为O(n^2)判断子串为O(n)
解法二
中心扩展方法
- 枚举每一个可能的回文中心,然后用两个指针分别向左右两边拓展,当两个指针指向的元素相同的时候就拓展,否则停止拓展。
- 中心可能有一个(奇数),也可能有两个(偶数)
- 长度为 n 的字符串会生成 2n-1 组回文中心
- l=i/2,r=i/2+i%2
代码如下
1 |
|
- 时间复杂度:O(n^2)。
- 空间复杂度:O(1)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 漫漫长夜!