给定一个字符串 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]; };