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

#define	_CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int is_left_move(char *arr, const char *p)
{
	int k = strlen(arr);
	int i = 0;
	int j = 0;
	for (i = 0; i < k; i++)
	{
		char tmp = *arr;
		j = 0;
		while (*(arr + j + 1))
		{
			*(arr + j) = *(arr + j + 1);
			j++;
		}
		*(arr + j ) = tmp;

		switch (strcmp(arr, p))
		{
			case 0 :
				return 0;
			default:
				continue;
		}
	}
	return 1;
}

int main()
{
	char s1[] = "AABCD";
	char s2[] = "BCDAA";
	int ret = is_left_move(s1, s2);
	if (ret == 0)
	{
		printf("通过旋转可使s1 = s2\n");
	}
	else
	{
		printf("不能通过旋转让s1 = s2\n");
	}
	system("pause");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/belongHWL/article/details/91490260
今日推荐