方法一:简单粗暴,枚举法,把每一种字符串的组合都判断一遍
function checkPalindrome(s) {
var i = 0;
var j = s.length - 1
while (i < j) {
if (s[i] != s[j]) return false;
i++;
j--;
}
return true;
}
var countSubstrings = function(s) {
var len = s.length;
var count = 0
for(var i =0;i<len;i++){
for(var j = i + 1;j < len + 1;j++){
if(checkPalindrome(s.slice(i,j))){
count++
}
}
}
return count
};
方法二:
var countSubstrings = function (s) {
const len = s.length;
var res = 0;
for (var i = 0; i < 2 * len - 1; i++) {
var j = i / 2;
var k = i / 2 + (i % 2);
while (j >= 0 && k < len && s.charAt(j) == s.charAt(k)) {
--j;
++k;
++res;
}
}
return res;
};
console.log(countSubstrings('abcdedcded'));