AcWing 776. 字符串移位包含问题
原题链接
简单
作者:
呆jio不
,
2024-11-20 21:19:53
,
所有人可见
,
阅读 1
#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
int main(){
string s1,s2;
cin>>s1>>s2;
if(s1.size()<s2.size()) swap(s1,s2);//将长字符串排在前面
for(int i=0;i<s1.size();i++){//循环字符串1
s1=s1.substr(1)+s1[0];//用substr函数每次都从第二位输出,把第一位放在最后
for(int j=0;j<s1.size();j++){//从字符串1第一位开始循环,然后第二位...
int k=0;//一轮循环完初始从字符串2第一位开始比较
for(k;k<s2.size();k++){
if(s1[j+k]!=s2[k]) //s2一个一个字母和s1比较,不同就停下
break;
}
if(k==s2.size()){//如果字母全都一样,k会增加到s2的长度不会停下
cout<<"true" ;//输出
return 0;//停止运行main函数,不能用break,break只能停止当下循环;
}
}
}
cout<<"false";//如果true没输出,没有跳出main函数,false就会输出
return 0;
}