给你一个字符串 s,找到 s 中最长的回文子串。
示例 1:输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。
示例 2:输入:s = "cbbd"
输出:"bb"
/**
* @param {string} s
* @return {string}
*/
var longestPalindrome = function(s) {
if(s.length < 2){
return s;
}
let star = 0;
let end = 0;
for(let i=0;i<s.length;i++){
let len1 = isPalindrome(s,i,i);
let len2 = isPalindrome(s,i,i+1);
let max = Math.max(len1,len2);
if (max > end - star) {
star = Math.ceil(i - (max-1 ) / 2);
end = i + max / 2;
}
}
return s.substring(star, end + 1);
};
function isPalindrome(s,star,end){
while(star >= 0 && end < s.length && s[star] === s[end]){
--star;
++end;
}
return end - star - 1;
}
const s = '1te234abcXXcba567';
var res = longestPalindrome(s);
console.log(res);