美文网首页
LeetCode5.最长回文子串 JavaScript

LeetCode5.最长回文子串 JavaScript

作者: LHH大翰仔仔 | 来源:发表于2019-01-16 15:16 被阅读9次

    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 <= 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];
    
    };
    
    欢迎关注

    相关文章

      网友评论

          本文标题:LeetCode5.最长回文子串 JavaScript

          本文链接:https://www.haomeiwen.com/subject/jbemdqtx.html