题目
给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。
回文字符串 是正着读和倒过来读一样的字符串。
子字符串 是字符串中的由连续字符组成的一个序列。
具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。
思路
class Solution {
public int countSubstrings(String s) {
int n = s.length();
int res = 0; //回文子串数
int left = 0,right = 0; //左右中心点
int center = 0;
while(center < 2 * n - 1) {
left = center / 2;
right = left + center % 2;
while(left >= 0 && right < n && s.charAt(left) == s.charAt(right)) {
res++;
left--;
right++;
}
center++;
}
return res;
}
}