蓝桥杯—旋转串
问题
现在我们定义一种新的名词叫做旋转词。对于一个字符串A,将A的前面任意一部分挪到后面形成的字符串称为A的旋转词,比如A=“12345”,那么”51234“即为A的旋转词。现在给出两个字符串A和B,请判断A和B是否互为旋转词。
在输入的首行输入A,接着输入B。然后输出判断结果,如果A和B互为旋转词,那么输出yes,如果A和B互不为旋转词语,输出no
思路
新的字符串:A+A 中肯定有B串的存在
例: A = “12345” A+A = “1234512345” B = “51234”
代码
#include<iostream>
#include<string>
using namespace std;
int main()
{
string a,b,c;
cin>>a;
cin>>b;
c = a+a;
if(c.find(b) != string::npos)
{
cout<<"yes";
}
else cout<<"no";
return 0;
}