您的位置:首页 > 其它

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

2017-11-10 10:17 363 查看


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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐