5. 最长回文子串
给你一个字符串 s
,找到 s
中最长的回文子串。
如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。
/**
* @param {string} s
* @return {string}
*/
var longestPalindrome = function(s) {
let res=''
const dd=function(left,right){
// 左右指针的值相等则继续朝两边扩散
while(left>=0&&right<s.length&&s[left]===s[right]){
left--
right++
}
// 此时左右指针的值并不相等
if(res.length<right-left-1){
res=s.substr(left+1,right-left-1)
}
}
// 两种情况都遍历一遍,取最大值
for(let i=0;i<s.length;i++){
//奇数
dd(i,i)
//偶数
dd(i,i+1)
}
return res
};