题目描述
给一个字符串s="a1a2a3…an",如果存在区间[L,R],L≤i<R,ai+1=ai+1,我们称这个区间的子串为连续子串。比如字符串"abcabcdabc",其中区间[4,7]的子串"abcd"为最长的连续子串。请你写一个程序求一个字符串的最长连续子串。
输入
存在多个输入样例,每个样例占一行,为一个长度不超过1000的,只含小写英文的字符串。
输出
每行依次输出每个样例的结果。
样例输入
abc ababbac a样例输出
3 2 1
解题思路: 总结了以下四点 ....
AC代码:
#include <stdio.h>
#include <string.h>
int main()
{
char str[1010] = {0};
while (scanf("%s",str) != EOF)
{
int len = strlen(str);
int max_len = 1, Co_len = 1;
for (int i = 1; i < len; i ++)
{
if (str[i] == str[i-1]+1) Co_len ++;
else
{
if (Co_len > max_len)
max_len = Co_len;
Co_len = 1;
}
}
if (Co_len > max_len) max_len = Co_len;
printf("%d\n",max_len);
}
return 0;
}