天天看點

LeetCode5.最長回文子串 JavaScript

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
    })[];

};
複制代碼
           

繼續閱讀