题目描述
776.字符串移位包含问题
方法1(y总)
暴力做法
C++ 代码
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
string a,b;
cin>>a>>b;
if(a.size()<b.size())
swap(a,b);
for(int i=0;i<a.size();i++){
//每次循环一位,把a[0]移到a最后,要先把a[0]去掉。
a=a.substr(1)+a[0];//循环一位
for(int j=0;j+b.size()<=a.size();j++){
//j+b.size()<=a.size(),j太靠后的话,a后面的字符个数不足b的个数,一定不相等
int k=0;//k遍历一下对应的位置是否相等
for(;k<b.size();k++)
if(a[j+k]!=b[k])//存在某个位置不相等
break;
//k遍历完之后,如果没有发现不相等的
if(k==b.size()){
puts("true");
return 0;
}
}
}
puts("false");
return 0;
}
方法2
C++ 代码
blablabla