LeetCode題庫5:最長迴文子串——JavaScript解答
阿新 • • 發佈:2018-12-29
題目描述:
給定一個字串 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 <= 1) { return s; } for (var i = 0; i < s.length; i += 1) { j = 0; k = 0; while(s[i + j] === s[i - j] && s[i + j] && s[i - j]) { j++; }; palindromes.push(s.slice(i-(j-1), i+j)) //even palindromes j = 0; while(s[(i + 1) + k] === s[i - k] && s[(i + 1) + k] && s[i - k]){ k++; } palindromes.push(s.slice(i-(k-1),(i+1)+k)) //odd palindromes k = 0; } return palindromes.sort((a, b) => { return b.length - a.length })[0]; };
歡迎關注博主——小聖賢君,有問題可以留言哦~