【Manacher】LeetCode-5. 最长回文子串

5. 最长回文子串。

给你一个字符串 s,找到 s 中最长的回文子串。

如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。

示例 1:

输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。

示例 2:

输入:s = "cbbd"
输出:"bb"

提示:

1 <= s.length <= 1000
s 仅由数字和英文字母组成
算法分析

解题思路
数据范围比较小可以直接用迭代

  • 以每个元素为中心点(奇数)向外遍历;
  • 以每个元素为左端点(偶数),元素+ 1为右端点向外遍历;
class Solution {
    public String longestPalindrome(String s) {
        String res = "";
        for (int i = 0; i < s.length(); i++) {
            int l = i - 1, r = i + 1;
            while (l >= 0 && r < s.length() && s.charAt(l) == s.charAt(r)) {
                l--;
                r++;
            }
            if (res.length() < r - l - 1) res = s.substring(l + 1, r);

            l = i;
            r = i + 1;
            while (l >= 0 && r < s.length() && s.charAt(l) == s.charAt(r)) {
                l--;
                r++;
            }
            if (res.length() < r - l - 1) res = s.substring(l + 1, r);
        }
        return res;
    }
}

复杂性分析

时间复杂度:O(n2)
空间复杂度:O(1)

相关推荐

  1. 5.

    2024-01-03 18:28:03       49 阅读
  2. 5.

    2024-01-03 18:28:03       34 阅读
  3. 5.

    2024-01-03 18:28:03       28 阅读
  4. LeetCode-5

    2024-01-03 18:28:03       50 阅读
  5. 力扣5.

    2024-01-03 18:28:03       54 阅读
  6. 【Manacher】LeetCode-5.

    2024-01-03 18:28:03       56 阅读
  7. LeetCode_5_中等_

    2024-01-03 18:28:03       56 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-03 18:28:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-03 18:28:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-03 18:28:03       82 阅读
  4. Python语言-面向对象

    2024-01-03 18:28:03       91 阅读

热门阅读

  1. XAML转换器

    2024-01-03 18:28:03       48 阅读
  2. 每期一个小窍门: 重置kafka 消费者的偏移量

    2024-01-03 18:28:03       58 阅读
  3. C++零基础自学笔记

    2024-01-03 18:28:03       44 阅读
  4. Linux中find文件查找工具应用

    2024-01-03 18:28:03       60 阅读
  5. linux系统类型及分类

    2024-01-03 18:28:03       51 阅读
  6. VivadoAndTcl: get_cells

    2024-01-03 18:28:03       65 阅读
  7. 2023年我的编程之旅:技术演进与自我成长的纪录

    2024-01-03 18:28:03       68 阅读