
求解代码
java
public int countSubstrings(String s) {
if(s==null||s.length()==0){
return 0;
}
int ans = 0;
for(int i=0;i<s.length();i++){
// 1. 以i为中心(奇数长度回文)
ans += countPalindrome(s, i, i);
// 2. 以i和i+1为中心(偶数长度回文)
ans += countPalindrome(s, i, i+1);
}
return ans;
}
private int countPalindrome(String s,int left,int right) {
int count = 0;
while(left>=0&& right< s.length()&&s.charAt(left)==s.charAt(right)){
count++;
left--;
right++;
}
return count;
}