如何用KMP字符串匹配算法求出主串中所包含模式串的总个数

Agnes ·
更新时间:2024-09-21
· 521 次阅读

如何用KMP字符串匹配算法求出主串中所包含模式串的总个数 #include using namespace std; void getnext(int next[],string s,int len) { int j=0,k=-1; next[0]=-1; while(j<len){ if(k==-1||s[j]==s[k]){ j++;k++; if(s[j]!=s[k]) next[j]=k; else{ next[j]=next[k]; } } else k=next[k]; } } int KMPMatch(string s1,string s2){ int next[s2.size()]; getnext(next,s2,s2.size()); int len1=s1.size(),len2=s2.size(); int i=0,j=0,ans=0; while(i>n; while(n--){ string s1,s2; cin>>s1>>s2; cout<<KMPMatch(s2,s1)<<endl; } } niyuancheng 原创文章 4获赞 4访问量 671 关注 私信 展开阅读全文
作者:niyuancheng



kmp 算法

需要 登录 后方可回复, 如果你还没有账号请 注册新账号