母串中有几个相同的子串

Posted wangchaomahan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了母串中有几个相同的子串相关的知识,希望对你有一定的参考价值。

 1 #include <stdio.h>
 2 int getSubstrCount(char* str,char* subStr)
 3 {
 4     int count = 0;
 5     while(*str)
 6     {
 7         int i;
 8         //如果在大串中碰到相同的字符,则进入循环开始连续判断,如果出现不相同的则终止循环。如果完全相同则小串正常结束
 9         for(i = 0;*(str+i) == *(subStr+i)&& *(subStr+i) != ;i++);
10         if(*(subStr+i) == )
11         {
12             count++;
13             str += i;//之前为:str = str + i;改为str += i;  比较好理解,str后追加偏移的单位
14         }
15         else
16             str++;//如果 *(str+i) != *(subStr+i)    str++   ,统一str只往前走一步。
17     }
18     return count;
19 }
20 
21 int main()
22 {
23     char* str = " aaab aa aaab";
24     char* subStr = " aaab";
25     printf("count = %d
",getSubstrCount(str,subStr));
26     return 0;
27 }

 

以上是关于母串中有几个相同的子串的主要内容,如果未能解决你的问题,请参考以下文章

子串在母串中出现的次数

8.2 kmp 扩展kmp

动态规划 最长公共子序列 过程图解

python 字符串函数find功能拓展——查找母串内所有子串的位置

求子串在母串中出现的次数(C++)

找出给定的一个字符串中最大的不重复子串,不重复子串即一个子串中不出现两个相同的字符