Leetcode647. 回文子串(HOT100)
链接
代码:
class Solution {
public:int countSubstrings(string s) {int res = 0;for(int i = 0;i<s.size();i++){for(int j = i,k = i;j>=0&&k<s.size();j--,k++){if(s[j]!=s[k])break;else res++;}for(int j = i,k = i+1;j>=0&&k<s.size();j--,k++){if(s[j]!=s[k])break;else res++;}}return res;}
};
题解:
首先我们人工模拟发现,偶数串和奇数串判断回文串方式不同。所以要分类讨论。
abccba(偶数长度字符串)
abccba
看起来是中心开花的方式,让两个指针指向相邻字母,一个往左一个往右,看字母是否相等,相等则继续往外扩展进行判断。
——————————————————
abcba(奇数长度字符串)
abcba
以一个字母为核心,往两边扩展。