首页 > 编程语言 > 详细

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

时间:2015-11-04 07:08:41      阅读:326      评论:0      收藏:0      [点我收藏+]
#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语言:判断一个字符串是否为另外一个字符串旋转之后的字符串。

原文:http://10740184.blog.51cto.com/10730184/1709411

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!