1.实现一个函数,可以左旋字符串中的k个字符。 AABCD左旋一个字符得到ABCDA AABCD左旋两个字符得到BCDAA 2.判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1
来源:互联网 发布:linux解压tar.xz文件 编辑:程序博客网 时间:2024/06/05 19:58
1.实现一个函数,可以左旋字符串中的k个字符。 AABCD左旋一个字符得到ABCDA AABCD左旋两个字符得到BCDAA 2.判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1
2016-07-25 14:28 370人阅读 评论(0)收藏举报
分类:
作者同类文章X
版权声明:本文为博主原创文章,未经博主允许不得转载。
1.实现一个函数,可以左旋字符串中的k个字符。
AABCD左旋一个字符得到ABCDA
AABCD左旋两个字符得到BCDAA
- 将一个字符串左旋k个,首先想到将一个字符串左旋一个,然后把得到的这个新字符串在进行左旋一次,总共这样循环k次,就得到左旋k次后的字符串
比如:
abcdef左旋一次得到bcdefa,再把bcdefa左旋一次,得到cdefab,这样进行下去就可得到左旋k次后的字符串
- #include<stdio.h>
- #include<stdlib.h>
- #include<string.h>
- void reverse(char arr[], int n, int len)
- {
- int i = 0;
- while(n)//将字符串左旋
- {
- char tmp = arr[0];//保存首字符,不然覆盖后就不存在了
- for(i=0; i<len-1; i++)//将第一个字符后的所有字符向前移动
- {
- arr[i] = arr[i+1];
- }
- arr[len-1] = tmp;//将第一个字符放到字符串的末尾
- n--;//进行下一次左旋
- }
- }
- int main()
- {
- char arr[] = "aabcd";
- int n = 0;
- scanf("%d",&n);
- reverse(arr, n,strlen(arr));
- printf("%s\n",arr);
- system("pause");
- return 0;
- }
2.判断一个字符串是否为另外一个字符串旋转之后的字符串。
例如:给定s1 = AABCD和s2 = BCDAA,返回1,给定s1=ABCD和s2=ACBD,返回0.
AABCD左旋一个字符得到ABCDA
AABCD左旋两个字符得到BCDAA
AABCD右旋一个字符得到DAABC
AABCD右旋两个字符得到CDAAB
这个题和上个题的方法差不多
先将s1左旋一位,判断是否和s2相等,相等则返回1,不想等就就将s1再左旋一位,然后再和s2比较,如果左旋strlen(s1)次后还没有相等就返回0.
- #include<stdio.h>
- #include<stdlib.h>
- #include<string.h>
- int reverse(char arr1[], char arr2[], int len)
- {
- int n = len;
- int i = 0;
- while(n)
- {
- char tmp = arr1[0];
- for(i=0; i<len-1;i++)
- {
- arr1[i] = arr1[i+1];
- }
- arr1[len-1] = tmp;
- if(strcmp(arr1,arr2) == 0)//字符串比较函数
- return 1;
- n--;
- }//当左旋n次后arr1与arr2还不相等时while循环就结束了此时n==0
- if(n == 0)
- return 0;
- }
- int main()
- {
- char arr1[] = "abcdef";
- char arr2[] = "cdefab";
- int count = reverse(arr1, arr2,strlen(arr1));
- if(count == 1)
- printf("arr2是arr1翻转之后的字符串\n");
- if(count == 0)
- printf("arr2不是arr1翻转之后的字符串\n");
- system("pause");
- return 0;
- }
- 顶
- 0
- 踩
- 0
- 上一篇在屏幕上打印杨辉三角
- 下一篇模拟实现strcpy 模拟实现strncpy 模拟实现strcat 模拟实现strncat 模拟实现strcmp 模拟实现strncmp 模拟实现memcpy 模拟实现memmove
相关文章推荐
- • 实现一个函数,可以左旋字符串中的k个字符
- • Presto的服务治理与架构在京东的实践与应用--王哲涵
- • 实现一个函数,可以左旋字符串中的k个字符(不同复杂度的算法)
- • 深入掌握Kubernetes应用实践--王渊命
- • 把一个字符串左旋k个字符的2种方法
- • Python基础知识汇总
- • 左旋字符串K个字符的3种实现方法
- • Android核心技术详解
- • 【每天学点算法题10.15】指定一个字符串,对字符串左旋K位
- • Retrofit 从入门封装到源码解析
- • 判断一个字符串是否为另外一个字符串左旋或右旋之后的字符串。
- • 自然语言处理工具Word2Vec
- • 汇编试验 (1)将 BUF开始的 10 个单元中的二进制数转换成两位十六进制数的 ASCII 码,在屏幕上显示出来。要求码型转换通过子程序 HEXAC实现,在转换过程中,通过子程序 DISP实现显示. (2)编程实现从键盘接受一个字符串,再从键盘接受一查找的字符(例如’g’) ,找到时提示’Yes,found !’,找不到时提示’No found !’ 。
- • 字符串左旋
- • 1.4 写一个函数判断两个字符串是否使用相同的字符构成。
- • 定义一个栈的数据结构,实现min函数,要求push,pop,min时间复杂度是0(1);找出字符串中的最长子串,要求子串不含重复字符,时间复杂度是O(n);
阅读全文
0 0
- 1.实现一个函数,可以左旋字符串中的k个字符。 AABCD左旋一个字符得到ABCDA AABCD左旋两个字符得到BCDAA 2.判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1
- 1.实现一个函数,可以左旋字符串中的k个字符。 AABCD左旋一个字符得到ABCDA AABCD左旋两个字符得到BCDAA 2.判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1
- .实现一个函数,可以左旋字符串中的k个字符。 AABCD左旋一个字符得到ABCDA AABCD左旋两个字符得到BCDAA
- 实现一个函数,可以左旋字符串中的k个字符。 AABCD左旋一个字符得到ABCDA AABCD左旋两个字符得到BCDAA
- 判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1 = AABCD和s2 = BCDAA,返回1,给定s1 = abcd和s2 = ACBD,返回0. AABCD左旋一个字
- //4.判断一个字符串是否为另外一个字符串旋转之后的字符串。 //例如:给定s1 = AABCD和s2 = BCDAA,返回1,给定s1 = abcd和s2 = ACBD,返回0. //AABCD左旋
- 1.实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB
- 实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB
- //3.实现一个函数,可以左旋字符串中的k个字符。 //ABCD左旋一个字符得到BCDA //ABCD左旋两个字符得到CDAB
- 实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB
- 实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB
- 实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB
- 1.实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA
- 左旋字符串例如AABCD旋转一位后为ABCDA,旋转两位为BCDAA
- 判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1 = AABCD和s2 = BCDAA,返回1,给定s1=abcd和s2=ACBD,返回
- 判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1 = AABCD和s2 = BCDAA,返回1,给定s1=abcd和s2=ACBD,返回0.
- 判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1 = AABCD和s2 = BCDAA,返回1,给定s1=abcd和s2=ACBD,返回0.
- 实现一个函数,可以左旋字符串中的k个字符(不同复杂度的算法)
- HDU 6005 Pandaland 最小环(最小生成树+LCA)
- iOS 委托代理(delegate)入门
- 多线程面试知识点
- POJ3083:Children of the Candy Corn(DFS、BFS)
- 【java基础】17.10.7:static什么时候使用?有关静态变量(类变量)和静态方法(类方法)的解析
- 1.实现一个函数,可以左旋字符串中的k个字符。 AABCD左旋一个字符得到ABCDA AABCD左旋两个字符得到BCDAA 2.判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1
- 数字图像处理(一)
- Log4j 2架构
- Opencv3.2.0 SVM简单尝试
- 算法第五周Merge Two Sorted Lists[easy]
- HDU 6006 Engineer Assignment(状态压缩dp)
- codeforces 869E The Untended Antiquity 二维BIT + hash
- 二叉树基本概念一览
- C语言 打印图形