LeetCode5.最長回文子串 JavaScript
給定一個字元串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。 示例 1:
輸入: "babad"
輸出: "bab"
注意: "aba" 也是一個有效答案。
示例 2:
輸入: "cbbd"
輸出: "bb"
/**
* @param {string} s
* @return {string}
*/
var longestPalindrome = function(s) {
let palindromes = [];
if(s.length <= ) {
return s;
}
for (var i = ; i < s.length; i += ) {
j = ;
k = ;
while(s[i + j] === s[i - j] && s[i + j] && s[i - j]) {
j++;
};
palindromes.push(s.slice(i-(j), i+j)) //even palindromes
j = ;
while(s[(i + ) + k] === s[i - k] && s[(i + ) + k] && s[i - k]){
k++;
}
palindromes.push(s.slice(i-(k),(i+)+k)) //odd palindromes
k = ;
}
return palindromes.sort((a, b) => {
return b.length - a.length
})[];
};
複制代碼