从最大长度开始,对子字符串进行枚举,判断是否符合条件,如果符合则返回子字符串长度。
#include <iostream> using namespace std; int main() { string s; cin >> s; int start; int end; for (int length = s.length(); length > 0; length--) { for (int i = 0; i <= s.length() - length; i++) { int flag = true; start = i; end = i + length - 1; while (start <= end) { if (s.at(start) != s.at(end)) { flag = false; break; } start++; end--; } if (flag) { cout << length; return 0; } } } return 0; } // 64 位输出请用 printf("%lld")