题解 | #密码截取#
密码截取
https://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1
#include <iostream> using namespace std; #include <bits/stdc++.h> //返回这个字符为中心的最长对称串 string symmetry(string s, int i, int j){ while(i >= 0 && j < s.size()) { if(s[i] == s[j]) { i--; j++; } else break; } return s.substr(i+1,j-i-1); } int main() { string s; cin>>s; int MAX = INT_MIN; for(int i = 0; i + 1< s.size(); i++){ string s1 = symmetry(s, i, i + 1); string s2 = symmetry(s, i, i); int len1 = s1.size(), len2 = s2.size(); MAX = max(len1,MAX); MAX = max(len2,MAX); } cout<<MAX<<endl; return 0; } // 64 位输出请用 printf("%lld")