/**
* @param {string} s
* @return {number}
*/
var countSubstrings = function(s) {
let dp=new Array(s.length).fill('').map(()=>new Array(s.length).fill(false));
let num=0;
for(let i=0;i<s.length;i++){
for(let j=0;j<=i;j++){
//在首尾相等时,如果长度时1或者2,或者去掉收尾字符串时回文
if(s[i]===s[j]&&(i-j<2||dp[j+1][i-1])){
dp[j][i]=true;
num++;
}
}
}
return num;
};
动态规划