给你一个字符串 s,找到 s 中最长的 回文 子串。
function longestPalindrome(s: string): string {
//思路:由中心扩散进行遍历,遍历到不满足回文字符串为止,找到每个 i 都需要进行奇数遍历以及偶数遍历
if(s.length < 2) return s
let start = 0
let max_length = 0
function extend(left,right){
while (left >= 0 && right < s.length && s[left] === s[right]) {
const curr_length = right - left + 1;
if (curr_length > max_length) {
max_length = curr_length;
start = left;
}
left--;
right++;
}
}
for(let i=0;i<s.length;i++){
extend(i,i)
extend(i,i+1)
}
return s.substring(start,start+max_length)
};