题解 | #73.最长回文子串#

最长回文子串

http://www.nowcoder.com/practice/b4525d1d84934cf280439aeecc36f4af

遍历每个字符,以该字符为中心,不断向两边扩展,求回文字符串的最大长度

注意分为奇偶,比如xyzabbaxyz,b为中心的时候分为b和bb

function getLongestPalindrome( A ) {
  
  function getLength(begin,end){
    while(begin>=0 && end<A.length && A[begin]==A[end]){
      begin--;
      end++;
    }
    return end-begin-1;//返回长度
  }
  
  let maxLen = 1;
  for(let i=0; i<A.length-1; i++){//以每个点为中心
    maxLen = Math.max( maxLen, getLength(i,i), getLength(i,i+1) );
  }
  return maxLen;
}
全部评论

相关推荐

8 收藏 评论
分享
牛客网
牛客企业服务