题目
给定一个字符串 s
,找到 s
中最长的回文子串。你可以假设 s
的最大长度为 1000。
示例 1:
1 | 输入: "babad" |
示例 2:
1 | 输入: "cbbd" |
Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.
Example 1:
1 | Input: "babad" |
Example 2:
1 | Input: "cbbd" |
解题方法
动态规划、中心扩展法。回文串长度可能是奇数也可能是偶数,以所有最简单的单字符回文串(一个字符,e.g. “a”)和双字符回文串(两个字符,e.g. “aa”)为中心,向两边展开,展开的字符相等且新回文串长度大于之前最大回文串长度,则更新最大回文串。这段代码跑了16ms,超过了90.89%的Java提交。
1 | class Solution |