传送门
题意:
对于一个回文字符串,如果删去某一位置上的字符之后这个新字符串仍然是回文串,这个位置就是符合条件的,给你一个字符串,问,有多少个符合条件的点?
思路:
首先删掉中心的字符一定是可以的,然后我们发现中心字符前后与其相同的字符也是可行的,往前往后各扫一遍即可.
参考代码:
void solve() {
int n, ans = 1;
std::string s;
std::cin >> n >> s;
int mid = (s.size() / 2);
int i = mid - 1, j = mid + 1;
char c = s[mid];
while (i >= 0 && s[i] == c) {
i--, ans++;
}
while (j < s.size() && s[j] == c) {
j++, ans++;
}
std::cout << ans << "\n";
}