找出字符串中的最长子串,要求子串的所有字符相同
2012-09-10 11:07
302 查看
找出字符串中的最长子串,要求子串的所有字符相同。
例如:str ="sssddddabcdef" ,则输出字串为:dddd;例如:str ="ccdfff" 则输出字串为:fff。
例如:str ="sssddddabcdef" ,则输出字串为:dddd;例如:str ="ccdfff" 则输出字串为:fff。
char *GetSameSubStr(char *str) { assert(str!=NULL); char *slow,*fast,ch,*substr; int count=0,max=0; slow=fast=str; while(*fast!=0) { if(*fast==*slow) { count++; fast++; } else { if(max<count) { ch=*slow; max=count; } slow=fast; count=0; } if (*fast==0)//例如字符串为"mdd"的情况 { if(max<count) { ch=*slow; max=count; } break; } }//end while if(max==0)//如果为空串 { substr=(char *)malloc(sizeof(char)); *substr=0; } else { substr=(char *)malloc(sizeof(char)*(max+1)); memset(substr,ch,max); substr[max]=0; } return substr; }
相关文章推荐
- 编程找出字符串的最长子串,要求子串的所有字符相同
- 找出字符串的最长子串,要求子串的所有字符相同 例如:str ="sssddddabcdef" 则输出字串为:dddd
- 找出字符串的最长子串,要求子串的所有字符相同,如:"abcdeeefgh"结果是"eee"
- 定义一个栈的数据结构,实现min函数,要求push,pop,min时间复杂度是0(1);找出字符串中的最长子串,要求子串不含重复字符,时间复杂度是O(n);
- 定义一个栈的数据结构,实现min函数,要求push,pop,min时间复杂度是0(1);找出字符串中的最长子串,要求子串不含重复字符,时间复杂度是O(n);
- 输入一行子串,找出其中出现的相同且长度最长的字符串,输出它及其首字符的位置
- 输入一行字符串,找出其中出现的相同且长度最长的字符串,输出它及其首字符的位置
- C++找出字符串中最长的不含重复字符的子串
- 求字符串中由连续的相同字符组成的最长子串(如果有两个及两个以上的最长子串,则输出第二个)
- 找出一个字符串中出现的重复的最长的字符子串
- 找出2个字符串中所有相同的字符
- [Google] 字符串的最长子串,该子串的每个字符都不同 要求O(n)
- 找出一个字符串中最长连续相同子串
- 快速找出两个字符串中所有相同的字符
- 给你一个字符串s和一个长度相同的单词列表。 找出s中所有子字符串的起始索引,这些字符串中的每个单词只是一个字符串,没有任何中介字符。
- 计算两个字符串的最长公共子串,找两个字符串的公共部分,如何在两个字符串中找出相同的字符串
- 给你一个字符串s和一个长度相同的单词列表。 找出s中所有子字符串的起始索引,这些字符串中的每个单词只是一个字符串,没有任何中介字符。
- 找出字符串中最大子串的长度(要求子串中的字符不重复)
- 求字符串中满足所有字符个数相等的最长子串长度
- 输入一个字符串,找出最长的数字子串,并指出从第几个字符开始