给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。
示例 1:
输入: “babad”
输出: “bab”
注意: “aba” 也是一个有效答案。
示例 2:
输入: “cbbd”
输出: “bb”
回文的特性:回文串一定是对称的;回文串可能是abba型,也可能是aba型。
思路:
中心扩展法
1.回文串一定是对称的。所以每次选择一个中心,进行中心向两边扩展比较左右字符是否相等。
2.中心点的选取有两种:
①aba:中心点是b
②abba:中心点是两个b之间
3.所以共有两种组合可能
left:i,right:i (aba型)
left:i,right:i+1(abba型)
//中心扩展法
var longestPalindrome = function(s) {
if(!s || s.length < 2){
return s