举样例来说:对于字符串"1234abcdef1234567abcdefghijklmn",这个字串中最长的连续字符串为“abcdefghijklmn”。




int continumax(char *outputstr,char *inputstr)
{
	char maxrecord[100] = {0};
	int maxlength = 0;

	char currentrecord[100] = {0};
	int currentlength = 0;

	char value = 0;
	char *p = inputstr;
	
	while(*p++ != '\0')
	{
		if (value + 1 == *p)
		{
			value = *p;
			currentrecord[currentlength] = *p;
			currentlength++;
		}
		else
		{
			if (currentlength > maxlength)
			{
				maxlength = currentlength;
				memcpy(maxrecord, currentrecord, currentlength);
			}

			currentlength = 0;
			memset(currentrecord, 0, 100);
			
			value = *p;
			currentrecord[currentlength] = *p;
			currentlength++;

		}
	}

	if (currentlength > maxlength)
	{
		maxlength = currentlength;
		memcpy(maxrecord, currentrecord, currentlength);
	}

	memcpy(outputstr, maxrecord, maxlength);
	return maxlength;
}





posted on 2017-07-20 20:34  yutingliuyl  阅读(348)  评论(0编辑  收藏  举报