计算一个回文串中有多少个回文子串

const palindrome = function (str) {
  if (typeof str !== 'string') {
    return false;
  }
  if (str.split('').reverse().join('') === str) {
    return true;
  } else {
    return false;
  }
}

const palindromeCount = function (str) {
  const len = str.length;
  let count = 0;
  for (let i=0; i<len-1; i++) {
    for (let j=i+1; j<len; j++) {
      if (palindrome(str.slice(i,j+1))) {
        count++;
      }
    }
  }
  return count;
}

console.log(palindromeCount('abc')); // 0
console.log(palindromeCount('abba')); // 2
console.log(palindromeCount('abbabba')); // 7
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容