LeetCode 5 最长回文子串
1 分析
从中间往两边走的找回文串方法,回文的两种模式,都走一遍即可找到最大的
let s1 = palindrome(s, i, i);
let s2 = palindrome(s, i, i + 1);
2 Code
function palindrome(s: string, l: number, r: number) {
while(l >= 0 && r < s.length && s[l] === s[r]) {
l --;
r ++;
}
return s.substring(l + 1, r);
}
function longestPalindrome(s: string): string {
let res = "";
for(let i = 0; i < s.length; i ++) {
let s1 = palindrome(s, i, i);
let s2 = palindrome(s, i, i + 1);
res = res.length > s1.length ? res : s1;
res = res.length > s2.length ? res : s2;
}
return res;
};