/**
* @param {string} s
* @return {string}
*/
var longestPalindrome = function (s) {
var max = "";
for (var i = 0; i < s.length; i++) {
//分奇偶,一次遍历,每个字符位置都可能存在技术或偶数回文
halper(i, i);
halper(i, i + 1);
}
//定义左右双指针
function halper(l, r) {
while (l >= 0 && r < s.length && s[l] === s[r]) {
l--;
r++;
}
//拿到回文字符,注意,上面while满足条件后多执行一次,所以需要l+1,r-l-1
const maxStr = s.split("").splice(l + 1, r - l - 1);
//取最大长度的回文字符
if (maxStr.length > max.length) {
max = maxStr.join('');
}
}
return max;
};
splice是数组的方法