移位包含(字符串处理)

移位包含

在这里插入图片描述

解题思路

将它自己复制一遍
再在里面找子串

AC代码

#include<cstdio>
#include<iostream>
using namespace std;
string s1,s2;
int main()
{
    
    
	cin>>s1>>s2;
	s1+=s1;//首尾相连
	for(int i=0;i<s1.size();i++)//在里面找子串
	 if(s1[i]==s2[0])
	 {
    
    
	 	int o=i,ok=0;
	 	for(int j=0;j<s2.size();o++,j++)
	 	 if(s1[o]!=s2[j]){
    
    ok=1;break;}
	 	if(ok==0){
    
    printf("true");return 0;}
	 }
	printf("false");
	return 0;
}

谢谢

猜你喜欢

转载自blog.csdn.net/weixin_45524309/article/details/113142046