给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。
太难了,这道题有更高效的算法-DP(但是我不会)
public int countSubstrings(String s) {
int res = s.length();
for(int i = 0;i < s.length();i++){
for(int j = i+2;j <= s.length();j++){
boolean is = true;
String s1 = s.substring(i,j);
int l = s1.length()-1;
for(int k = 0;k <= s1.length()/2;k++){
if(s1.charAt(k) != s1.charAt(l)){
is = false;
}
l--;
}
if(is){
res++;
}
}
}
return res;
}
}