码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-11-04 19:46:43      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:c/c++

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void reveser_str(char* start,char*end)//字符串整体逆序
{
	while (start < end)
	{
		char tmp = *start;
		*start = *end;
		*end = tmp;
		start++;
		end--;
	}
	
}
int spin(char* s1, char* s2)
{
	int len=strlen(s1);
	char*start = s1;             //abcdeefeg\0
	char*end = s1 + len - 1;     //gefeedcba\0   egabcdeef   efegabcde
	reveser_str(start,end);      //efegabcde\0
	char* eos = start;
	while (*eos != ‘\0‘)
	{
		if(*eos == *s2)
		{
			reveser_str(start, eos);
			reveser_str(eos+1, end);
			if (strcmp(s1, s2) == 0)
			{
				return 1;
			}
			else
			{
				reveser_str(start, eos);
				reveser_str(eos + 1, end);
			}
		}
		eos++;
	}
	return 0;
}
int main()
{
	char s1[] = "abcdefef";
	char s2[] = "cdefefab";
	int ret=spin(s1, s2);
	if (ret == 1)
	{
		printf("yes");
	}
	else
	{
		printf("no");
	}
	system("pause");
	return 0;
}


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

标签:c/c++

原文地址:http://lingdandan.blog.51cto.com/10697032/1709650

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!