解题步骤:
参考代码:
class Solution {
public:
int countSubstrings(string s) {
int n=s.size();
vector<vector<bool>> dp(n,vector<bool>(n));
//无需初始化
int ret=0;
//一定要从下往上填写每一行
for(int i=n-1;i>=0;i--)
{
//每一行的i必须从j开始,否则会重复统计
for(int j=i;j<n;j++)
{
if(s[i]==s[j])
{
if(i+1>=j)
{
dp[i][j]=true;
}
else
{
dp[i][j]=dp[i+1][j-1];
}
if(dp[i][j]==true)
{
ret++;
}
}
}
}
return ret;
}
};
你学会了吗???