您的位置:首页 > 其它

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

2018-02-01 12:56 274 查看
题目要求:判断一个字符串是否为另外一个字符串旋转之后的字符串。

例如: 给定s1 = ABCD和s2 = BCDA,如果s1=s2,返回1,不等于则返回0.(长度和字母相同)

代码如下:  

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int Is_left_rev(char *arr,char *p)
{
char *ret = NULL;
int len1 = strlen(arr);//判断两个字符串长度是否相等
int len2 = strlen(p);
if (len1 != len2)
return 0;
else
return	1;
strncat(arr, arr, len1);
//向源字符串拷贝自己,这样包含了所有旋转后的结果;
//strcat不能自己给自己追加字符串,
//strncat多了一个参数为追加的额长度
ret = strstr(arr, p);//判断是否是源字符串的子字符串
}
int main()
{
char arr[20] = "abcdef";
char *p = "cdefab";
int ret = Is_left_rev(arr, p);
if (ret == 0)
printf("No\n");
else
printf("Yes\n");
system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐