题目链接
英文链接:https://leetcode.com/problems/longest-palindromic-substring/
中文链接:https://leetcode-cn.com/problems/longest-palindromic-substring/
题目详述
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。
示例 1:
1 | 输入: "babad" |
示例 2:
1 | 输入: "cbbd" |
题目详解
- 由于字符串长度小于1000,因此我们可以用 O(n^2)O(n2) 的算法枚举所有可能的情况。
- 首先枚举回文串的中心 i,然后分奇数长度和偶数长度两种情况向两边扩展边界,直到遇到不同字符为止。
1 | public class LeetCode_00005 { |
- 求最长回文子串的经典方法是用 manacher 算法。
- 时间复杂度为 O(n)。
1 | public class LeetCode_00005 { |