我的解法是蠢蠢的n^2复杂度
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
char inpu[1005];
int most=0;
int main(){
gets(inpu);
int len=strlen(inpu);
int i,lf,rt;
for(i=0;i<len;i++){
//以inpu[i]为中心,向两端伸长,计算最大长度是多少
lf=rt=i;
while(lf>=0&&rt<len&&inpu[lf]==inpu[rt]){
lf--;
rt++;
}
if(rt-lf-1>most)
most=rt-lf-1;
}
for(i=0;i<len-1;i++){
//以inpu[i]和inpu[i+1]为中心,向两端伸长,计算最大长度是多少
lf=i;
rt=i+1;
while(lf>=0&&rt<len&&inpu[lf]==inpu[rt]){
lf--;
rt++;
}
if(rt-lf-1>most)
most=rt-lf-1;
}
printf("%d\n",most);
return 0;
}