题目链接:LeeCode647回文子串
题目描述:
由题目可知首先单个字符算子串且可重复,所以字符串题目求得是字符串长度加实际回文子串数,画表格,当两个字符相等且相减长度小于二一定是回文串,字符相等且i+1到j-1依然是回文串时就又是一个回文串
class Solution {
public int countSubstrings(String s) {
int[][] dp=new int[s.length()][s.length()];
int ans=0;
for (int j = 0; j < s.length(); j++) {
for (int i = 0; i < j; i++) {
if(s.charAt(i)==s.charAt(j)){
if(j-i<=2){
dp[i][j]=1;
ans+=1;
}
if(dp[i+1][j-1]!=0){
dp[i][j]=1;
ans+=1;
}
}
}
}
return s.length()+ans;
}
}