题目描述:
Input: “aaa”
Output: 6
Explanation: Six palindromic strings: “a”, “a”, “a”, “aa”, “aa”, “aaa”.
思路:中心扩展法,对字符串的每一位尝试向左和向又扩展统计有多少个回文子串
class Solution {
int count = 0; //记录回文子串的个数
public int countSubstrings(String s) {
for(int i = 0 ; i < s.length() ; i++){
helper(s , i , i); //按奇数向外扩展
helper(s , i , i+1); //按偶数向外扩展
}
return count;
}
void helper(String s , int left , int right){
while(left >= 0 && right < s.length() && s.charAt(left) == s.charAt(right)){
left--;
right++;
count++;
}
}
}