C语言 判断一个字符串是否为另外一个字符串旋转之后的字符串

来源:互联网 发布:羞羞的铁拳影评知乎 编辑:程序博客网 时间:2024/06/01 09:38
#include <stdio.h>#include <string.h>#include <assert.h>int check_s(char* str1, const char* str2){assert(str1);assert(str2);   strncat(str1, str1, strlen(str1));   if(strstr(str1, str2)==NULL)   {   return 0;   }   else   {   return 1;   }}int main(){char s1[20]="AABCD";char s2[]="BCDAA";    int ret=check_s(s1,s2);int len2=strlen(s2);    if(ret==1){printf("s2是s1的旋转字符串\n");}else {printf("s2不是s1的旋转字符串");}return 0;}  
strncat函数是连接字符串,把s1s1连接后得到s1是AABCDAABCD,这样所有的旋转字符串都是它的子串,如果s2不是s1的子串则返回NULL
2 0
原创粉丝点击