5. Longest Palindromic Substring

Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.
Example 1:
Input: "babad"
Output: "bab"
Note: "aba" is also a valid answer.
Example 2:
Input: "cbbd"
Output: "bb"
思路:从中间至两边找回数,直至找到最远的边缘。回数的中间可能是一个单值,如aba中的b;也可能是双值,如abba中的bb。所以第二个循环的终止条件是 j

  /**
   * @param {string} s
   * @return {string}
   */
  var longestPalindrome = function(s) {
      let len = s.length;
      if(len < 2) return s;
      let res = "";
      let cur = "";
      for(let i = 0; i < len; i ++){
          for(let j = i; j < i + 2; j ++){
              let left = i;
              let right = j;
              while(s[left] && s[left] === s[right]){
                  cur = s.substring(left, right + 1);
                  if(cur.length > res.length) res = cur;
                  left --;
                  right ++;
              }
          }
      }
      return res;   
  };

你可能感兴趣的:(5. Longest Palindromic Substring)