字符串轮转
给定两个字符串s1
和s2
,请编写代码检查s2
是否为s1
旋转而成(比如,waterbottle
是erbottlewat
旋转后的字符串)。
解题思路:①如果字符串s1和s2不等长,那么直接返回否;
②两个字符串等长。如果存在字符串s2是由字符串s1轮转而来,那么字符串s1+s1必定含有子字符串s2.
bool isFlipedString(char* s1, char* s2){
char *p=(char *)malloc(2*strlen(s1)+1);
if(strlen(s1)!=strlen(s2))
{
return false;
}
else
{
strcpy(p,s1);
strcat(p,s1);
if(strstr(p,s2))
{
return true;
}
else{
return false;
}
}
}