1.实现一个函数,可以左旋字符串中的k个字符。 AABCD左旋一个字符得到ABCDA AABCD左旋两个字符得到BCDAA 2.判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1
来源:互联网 发布:电气计算软件中文 编辑:程序博客网 时间:2024/06/13 18:03
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==0if(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
- 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个字符(不同复杂度的算法)
- Android应用学习记录------通讯录的增,删,改,查
- HDU 11150 Machine Schedule [二分图之求最小覆盖]
- MYeclipse中使用maven插件的时候,运行run as maven build的时候报错
- Markdown语法简介
- Android原型设计工具探索
- 1.实现一个函数,可以左旋字符串中的k个字符。 AABCD左旋一个字符得到ABCDA AABCD左旋两个字符得到BCDAA 2.判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1
- Java通过CMD命令启动和停止外部应用程序
- Python 类货币四舍五入规则
- android的软件盘的处理
- 转载z转载
- 音乐播放时跳动的音符
- 美国大选选民登记数据在暗网大肆贩卖
- 辣鸡的最短路&差分约束题目计划
- CentOS 7 NFS服务器和客户端设置