你可能第一反应就是 KMP 算法, 但是我们在这篇文章里面将它朴素实现.
假设给定的字符串为字符串 a, 模板串为字符串 b
在字符串 a 的每一个字符的位置开始, 来用字符串 b 一位一位去对, 如果对不上了, 就 break, 从 a 的下一个字符的位置开始一位一位对.
完整代码如下:
- #include<iostream>
- #include<string>
- using namespace std;
- string a,b;
- int ans=0;
- int main()
- {
- cin>>a>>b;
- for(int i=0;i<a.size();i++)
- {
- bool flag=1;
- for(int j=0;j<b.size();j++)
- {
- if(a[i+j]!=b[j])
- {
- flag=0;
- break;
- }
- }
- if(flag)
- ans++;
- }
- cout<<ans;
- return 0;
- }
来源: http://www.bubuko.com/infodetail-2673373.html