leetcode-647. 回文子串

 

leetcode-647. 回文子串

 

class Solution {
public:
    int countSubstrings(string s) {
        // 中心扩展法
        // 注意回文中心可能是一个,也可能是两个
        // 如果aba 有中心a向两边扩展,  abba右bb向两边分别扩展得到。
    int res = 0;

    for(int i = 0; i < s.length(); i++){  // 对回文中心依次判断
        for(int j = 0; j <=1; j++){   // 回文中心可能有两个
            int l = i;
            int r = i+j;
            while(l>=0&&r<s.length()&&s[l--]==s[r++])  // 对每一个回文中心依次扩展
                res = res + 1;
        }
    }
    return res;
    }
};

 

上一篇:enum枚举实现策略模式


下一篇:环状结构