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

题目要求:判断一个字符串是否为另外一个字符串旋转之后的字符串。
例如: 给定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;
}

猜你喜欢

转载自blog.csdn.net/qq_39412582/article/details/79226781