Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.
Example 1:
Input: "babad"
Output: "bab"
Note: "aba" is also a valid answer.
Example 2:
Input: "cbbd"
Output: "bb"
思路:从中间至两边找回数,直至找到最远的边缘。回数的中间可能是一个单值,如aba中的b;也可能是双值,如abba中的bb。所以第二个循环的终止条件是 j<i+2。
/**
* @param {string} s
* @return {string}
*/
var longestPalindrome = function(s) {
let len = s.length;
if(len < 2) return s;
let res = "";
let cur = "";
for(let i = 0; i < len; i ++){
for(let j = i; j < i + 2; j ++){
let left = i;
let right = j;
while(s[left] && s[left] === s[right]){
cur = s.substring(left, right + 1);
if(cur.length > res.length) res = cur;
left --;
right ++;
}
}
}
return res;
};