647. 回文子串
如何確定是回文串:
找中心然后往兩邊擴散,判斷是否對稱即可。
在遍歷中心點的時候,注意中心點可以是一個元素也可以是兩個元素。
class Solution {
public:int cal_two_extend(const string& s,int i,int j,int n){int res = 0;//以(i+j)/2為中心點,向左右擴散,計算該中心點構成的回文子串數目while(i >= 0 && j < n && s[i] == s[j]){i--;j++;res++;}return res;}int countSubstrings(string s) {int len = s.size();int result = 0;for(int i = 0; i < len; i++){result += cal_two_extend(s,i,i,len);result += cal_two_extend(s,i,i+1,len);}return result;}
};