
解题步骤:





参考代码:
- class Solution {
- public:
- int countSubstrings(string s) {
- int n=s.size();
- 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
- {
- 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;
- }
- };
你学会了吗???