题目:给你一个字符串 s,找到 s 中最长的回文子串。
首先得分长度奇偶去考虑,在逐个循环的数往左右发散,然后在存储比较之下比较长的长度
源码:
var longestPalindrome = function(s) {
let res = ''
for (let i=0;i<s.length;i++){
//当目标字符串的长度为奇数时
let left = i-1,right = i+1
while (left>=0&&right<s.length&&s[left]===s[right]){
left--
right++
}
if (res.length<right-left-1){
res = s.substring(left+1,right)
}
//当目标字符串的长度为偶数时
left = i
right = i+1
while (left>=0&&right<s.length&&s[left]===s[right]){
left--
right++
}
if (res.length<right-left-1){
res = s.substring(left+1,right)
}
}
return res
}
结果: