Java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = reader.readLine();
int res = 0;
for (int i = 0; i < s.length(); ++i) {
int l = i - 1, r = i + 1;
while (l >= 0 && r < s.length() && s.charAt(l) == s.charAt(r)) {
l--;
r++;
}
res = Math.max(res, r - l - 1);
l = i;
r = i + 1;
while (l >= 0 && r < s.length() && s.charAt(l) == s.charAt(r)) {
l--;
r++;
}
res = Math.max(res, r - l - 1);
}
System.out.println(res);
}
}
C++
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int main() {
string s;
getline(cin, s);
int res = 0;
for (int i = 0; i < s.size(); ++i) {
int l = i - 1, r = i + 1; // 奇数长度
while (l >= 0 && r < s.size() && s[l] == s[r]) l--, r++;
res = max(res, r - l + 1 - 2);
l = i, r = i + 1;
while (l >= 0 && r < s.size() && s[l] == s[r]) l--, r++;
res = max(res, r - l + 1 - 2);
}
cout << res << endl;
return 0;
}