传送门:https://www.patest.cn/contests/pat-a-practise/1040
一开始因为弄错了substr的用法 纠结了好久.string.substr(int pos,int len);//指从POS处开始复制N个字符串.
AC代码
#include <iostream>
#include <string>
#include <cstdio>
#include <vector>
#include <queue>
#include <algorithm>
#include <stack>
#include <map>
using namespace std;
int main(){
string str;
getline(cin,str);
int max = -1;
int lenStr = (int)str.size();
for (int i=0; i<lenStr; ++i) {
for (int j=lenStr-1; j>=i; --j) {
if(j-i+1<=max)
break;
string t1,t2 ;
t1 = str.substr(i,j-i+1);
t2 = t1;
reverse(t2.begin(),t2.end());
if(t2==t1){
int len =(int)t1.size();
if(len>max)
max = len;
}
}
}
printf("%d\n",max);
return 0;
}