编写一个 C 函数,该函数在一个字符串中找到可能的最长的子字符串,且该字符串是由同一字符组成的。
#include <cstdio>
#include <deque>
#include <algorithm>
#include <iterator>
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <string.h>
#include <assert.h>
using namespace std;
void FindMaxLong(char *s,char ch,char *dest)
{
char *p = s, *tag1 = NULL, *tag2=NULL;
int temp=0,temp2=0;
while (*p!='\0')
{
if(*p == ch)
{
temp=0;
tag1 = p;
while (*p == ch)
{
++temp;
++p;
}
if (temp > temp2)
{
tag2 = tag1;
temp2 = temp;
}
if (!*p)
{
break;
}
}
++p;
}
for (int i = 0; i < temp2; i++)
{
*dest++ = ch;
}
*dest = '\0';
}
int main()
{
char a[] = "aabbbcccaaccccccccdcddddccddd";
char *dest = (char *)malloc(sizeof(a));
FindMaxLong(a, 'c',dest);
cout << dest << endl;
system("pause");
return 0;
}