LeetCode-647-回文子串
思路
以每个字母或者每两个字母为中心起点,向两边扩张,判断首尾是否相等
代码
int cnt=0;
public int countSubstrings(String s) {
for(int i=0;i<s.length();i++){
count(s,i,i);//以一个字母为中间起点
count(s,i,i+1);//以两个字母为中间起点
}
return cnt;
}
public void count(String s,int start,int end){
while(start>=0&&end<s.length()&&s.charAt(start)==s.charAt(end)){
cnt++;
start--;
end++;
}
}