题解 | #密码截取#
密码截取
http://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1
经典题目,注意代码规范
#include <bits/stdc++.h>
using namespace std;
int maxLength (const string str, int l, int r) {
while (l >= 0 && r < str.size() && str[l] == str[r]) {
l--;
r++;
}
return r - l - 1;
}
int main() {
string str;
cin >> str;
int n = str.size();
if (n == 0) {
cout << 0 << endl;
return 0;
}
if (n == 1) {
cout << 1 << endl;
return 0;
}
int ml = 0;
for (int i = 0; i < n; i++) {
int m1 = maxLength (str, i, i);
int m2 = maxLength (str, i, i + 1);
ml = max (ml, max (m1, m2));
}
cout << ml;
return 0;
}