给你一个字符串 s,找到 s 中最长的回文子串。
示例 1:
输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。
把每个字符都当作回文数的中心向两边查找,注意也要区分回文的中心是一位数还是两位数
时间复杂度:O(n)
var longestPalindrome = function(s) {
if(s.length<2) return s;
let res='';
for(let i=0;i<s.length;i++){
cal(i,i);
cal(i,i+1);
}
function cal(m,n){
while(m>=0&&n<s.length&&s[m]==s[n]){
m--;
n++;
}
if(n-m-1>res.length){
res=s.slice(m+1,n);
}
}
return res;
};