纪念第一次做出复杂题目
算法关键在于:遍历较长字符串,得到与较短字符串第一个字符匹配的位置,之后依次比较
#include <iostream>
using namespace std;
int main()
{
string a,b;
string str1 , str2; //str1是较小字符串,str2是较长字符串
cin >> a >> b;
bool flag = false;
if(a.size() >= b.size())str1 = b , str2 = a;
else str1 = a , str2 = b;
int j;
for(int t = 0; t < str2.size();t++){
j = t;
int i = 0;
while(i < str1.size() && j < str2.size() && str1[i] == str2[j]){
i++;
j = (j + 1) % str2.size();
}
if(i == str1.size()) flag = true;
}
flag == true? cout<<"true" : cout << "false";
}