你可能第一反应就是KMP算法,但是我们在这篇文章里面将它朴素实现。
假设给定的字符串为字符串a,模板串为字符串b
在字符串a的每一个字符的位置开始,来用字符串b一位一位去对,如果对不上了,就break,从a的下一个字符的位置开始一位一位对。
完整代码如下:
1 #include<iostream> 2 #include<string> 3 using namespace std; 4 string a,b; 5 int ans=0; 6 int main() 7 { 8 cin>>a>>b; 9 for(int i=0;i<a.size();i++) 10 { 11 bool flag=1; 12 for(int j=0;j<b.size();j++) 13 { 14 if(a[i+j]!=b[j]) 15 { 16 flag=0; 17 break; 18 } 19 } 20 if(flag) 21 ans++; 22 } 23 cout<<ans; 24 return 0; 25 }
原文地址:https://www.cnblogs.com/aininot260/p/9270908.html
时间: 2024-11-09 02:51:43