【C语言】【笔试题】【面试题】判断一个字符串是否为另外一个字符串旋转之后的字符串

原创 2016年05月30日 15:02:51
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include <string.h>
void reserve(char *left, char*right)
{
	while (left < right)
	{
		char tmp = *left;
		*left = *right;
		*right = tmp;
		left++;
		right--;
	}
}
void left_reserve(char arr[], int k)
{
	int len = strlen(arr) - 1;
	char *pstart = &arr[0];
	char *pend = arr + len;
	reserve(pstart, pstart + k - 1);
	reserve(pstart + k, pend);
	reserve(pstart, pend);
}
void right_reserve(char arr[], int k)
{
	int len = strlen(arr) - 1;
	char *pstart = &arr[0];
	char *pend = arr + len;
	reserve(pstart, pstart + len - k);
	reserve(pend - k+1, pend);
	reserve(pstart, pend);
}
int main()
{
	char arr[10] = "AABCD";
	char arr2[10] = "ABCDA";
	char *p = arr;
	int k = 5;
	while (k)
	{
		left_reserve(arr, k);
		if (strcmp(arr, arr2) == 0)
		{
			printf("1\n");
			break;
		}
		right_reserve(p, k);
		if (strcmp(p, arr2) == 0)
		{
			printf("1\n");
			break;
		}
		k--;
	}
	if (0 == k)
	{
		printf("0\n");
	}
	system("pause");
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

笔试题:C语言中的字符串问题

做编程题时,使用字符串一般都是直接用的C++的string类库,比C语言指针型操作字符串要简易方便很多。但是笔试题中,经常考察指针在C语言字符串中的问题。 下面就我遇到的一些题,谈下我的理解,如有偏差...

【美团校招笔试题】去除字符串首尾空格,中间多个空格只保留一个

要求: 这是本人参加美团校招在线考试笔试题,如果此行为违反了美团校招笔试题商业保密性,请与本人联系。
  • htq__
  • htq__
  • 2016-03-10 10:17
  • 1406

笔试题-输入一个字符数组将这些字符串按顺序合并输出-指针数组-数组指针-函数指针-指针函数

#include #include #include void linkString(int count, char *chptr[]); /** 考察点就一个 指针数组 指针数组的意思是:...

【google 2006年笔试题】 在一个字符串中找到第一个只出现一次的字符(包括普通汉字)

【google 2006年笔试题】 在一个字符串中找到第一个只出现一次的字符(包括普通汉字)

笔试题13:采用UDP协议,编写一个简单发送字符串的程序(源码)

UDP协议是一种无须建立连接的网络通信协议,采用Java来编写,一般有以下几个步骤:(包括接收端和发送端) 1、创建数据Socket,指定一个端口号; 2、对于接收消息的一端来说,提供一个byte...

面试题:给定一个字符串,问是否能通过添加一个字母将其变为回文串

题目描述 给定一个字符串,问是否能通过添加一个字母将其变为回文串。 输入描述: 一行一个由小写字母构成的字符串,字符串长度小于等于10。   输出描述: 输出答案(YES\NO).   输入例...

C语言面试题之字符串操作

今天做了花了几分钟做了三道C语言面试题,跟大家分享一下: 找错 Void test1() { char string[10]; char* str1="0123456789"; strcp...
  • sum_TW
  • sum_TW
  • 2017-02-19 22:54
  • 1657

2016 C语言面试题——字符串函数的实现

C语言各类字符串函数的实现开学就要开始找工作了,我觉得这些函数被问到的几率还是很大的,所以在这里与大家分享strlen函数原型:#include unsigned int strlen (char ...

java面试题,一个字符串中的大写变小写,小写变大写,数字不变,其他就变成*

java面试题,一个字符串中的大写变小写,小写变大写,数字不变,其他就变成*
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)