C语言 判断一个字符串是不是另一个旋转任意位所得
2015-08-09 17:47
447 查看
/************************************************************************************ 4.判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1 = AABCD和s2 = BCDAA,返回1, 给定s1=abcd和s2=ACBD,返回0. AABCD左旋一个字符得到ABCDA AABCD左旋两个字符得到BCDAA AABCD右旋一个字符得到DAABC AABCD右旋两个字符得到CDAAB ************************************************************************************/ #include <stdio.h> #include<assert.h> #include<string.h> int is_rotate_num(const char *aim,char *source) { char *pstart = source; char *pend = source; int i = 0,j=0; assert(aim&&source); if (strlen(aim) != strlen(source))//字符串长度不等 肯定不是 return 0; while (*(pend)) { char ch = *pstart; while (*(pstart + 1)) { *pstart = *(pstart + 1); pstart++; } *pstart = ch; pstart = source; if (strcmp(aim, source) == 0) return 1; pend++; } return 0; } int main() { char arr[] = "我是帅哥!"; printf("%d\n", is_rotate_num("!我是帅哥",arr ));// 0 不是 1 是 printf("%s\n",arr);//输出旋转后的字符串 对比 return 0; }
相关文章推荐
- C语言 喝汽水问题
- C语言标准库函数qsort排序的介绍与使用
- thrift cpp hello world
- C++第一个综合项目
- 对半搜索递归实现 C++
- C++实现基于IO复用模型的echo服务器
- c++使用应用框架
- C++那些细节--static关键字
- [leetcode-84]Largest Rectangle in Histogram(c++)
- C++(Qt)静态成员类undefined reference to “xxx”
- php调用c++程序例子
- C++ class与内存
- LeetCode #2 Add Two Numbers
- LeetCode #1 Two Sum
- C++中虚函数内存布局
- 读书笔记-C++PrimerPlus-8.2.6 对象、继承和引用10.2.5 修改实现
- C++函数模板 模板实例化、具体化
- C语言-01-基本语法
- 大整数类BigInteger
- C++ 几种排序算法