thinking:通过从选择每个字符,然后判断其右边是否有与其相同的字符串,如果有相同的字符串则r1++,直到无与选择的这个字符相同的字符,然后开始左右判断字串是否相同,相同则接着判断,最后返回的长度为r1-l1-1;
代码:
#include <iostream>
#include <string.h>
using namespace std;
char str[100];
int len;
int fun(char str[],int mid){
int l1=mid-1,r1=mid+1;
while(str[r1]==str[mid]){
r1++;}
while(l1>=0&&r1<len&&str[l1]==str[r1]){
l1--;r1++;
}
return r1-l1-1;
}
int main(){
int i,j,maxn,len2;
cin >> str;
len=strlen(str);
maxn=0;
for(i=0;i<len;i++){
len2=fun(str,i);
if(len2>maxn)maxn=len2;
}
cout << maxn << endl;
return 0;
}