请问如何用BF算法求串中最长重复字符串,感觉有一点点思路,但是自己又写不出来
#include <stdio.h>
int main()
{
int i=1,max = 0,tp = 0,index = 0;
char buf[100]={0};
gets(buf);
tp = 1;
while(buf[i])
{
if(buf[i] == buf[i-1])
tp++;
else
{
if(tp > max)
{
max = tp;
index = i-max;
}
tp = 1;
}
i++;
}
if(tp > max)
{
max = tp;
index = i - max;
}
buf[index + max] = 0;
printf("长度=%d\n",max);
printf("%s\n",buf+index);
return 0;
}