#include <iostream>
using namespace std;
string s;
int fun(int l,int r) {
    
    
    while (l >= 0 && r < s.size()&&s[l]==s[r] ) {
        l--,r++;
    }
    return r-l-1;
}
int main() {
    
    cin >> s;
    int len = s.length();
    int res = -1;
    for(int i = 0;i<len-1;i++){
        int res1 = fun(i, i);
        int res2 = fun(i,i+1);
        res = max(max(res1,res2),res);
    }

    cout << res << '\n';
    return 0;
}
// 64 位输出请用 printf("%lld")

因为不知道回文字符串的长度,所以从(当前位置,当前位置),和从(当前位置,当前位置加1)开始找,模拟找出最大长度即可。

活动地址https://www.nowcoder.com/discuss/726480854079250432