判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1 = AABCD和s2 = BCDAA,返回1,给定s1=abcd和s2=ACBD,返回0.

来源:互联网 发布:excel数据抽样 编辑:程序博客网 时间:2024/06/06 03:20

这里写图片描述

int findLeftMove(char *str, char *substr){    int strLen = strlen(str);    int subStrLen = strlen(substr);    if (strLen != subStrLen)    {        return -1;    }    int newSize = 2 * strLen + 1;    char *mem = (char*)malloc(sizeof(char)*newSize);    strcopy(mem, str);//拷贝字符串    strcat(mem, str);//拼接字符串    if (strstr(mem, substr))    {        return 1;    }    free(mem);    return -1;}int main(){    char str[20];    char substr[20];    int ret = 0;    printf("请输入初始字符串:\n");    scanf("%s", str);    printf("请输入要查找的左旋后的字符串:\n");    scanf("%s", substr);    ret = findLeftMove(str, substr);    if (ret == 1)    {        printf("找到了\n");    }    else if (ret == -1)    {        printf("没有找到\n");    }    return 0;}
阅读全文
0 0