文章
232
粉丝
165
获赞
377
访问
120.9k
#include <iostream>
#include <string>
using namespace std;
// 统计回文子串数量
int countSubstrings(string s) {
int n = s.size();
int ans = 0;
// 遍历所有可能的回文中心
for (int i = 0; i < n; ++i) {
// 情况1:奇数长度回文,中心为单个字符 i
int l = i, r = i;
while (l >= 0 && r < n && s[l] == s[r]) {
ans++;
l--;
r++;
}
// 情况2:偶数长度回文,中心为两个相邻字符 i 和 i+1
l = i, r = i + 1;
while (l >= 0 && r < n && s[l] == s[r]) {
ans++;
l--;
r++;
}
}
return ans;
}
int main() {
string s;
cin >> s;
cout << countSubstrings(s) << endl;
return 0;
}
登录后发布评论
暂无评论,来抢沙发