26 左旋转操作:把字符串前面的若干个字符移动到尾部
来源:互联网 发布:淘宝违禁词查询工具 编辑:程序博客网 时间:2024/05/17 01:12
/*26.左旋转字符串题目:定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。如把字符串 abcdef左旋转 2位得到字符串 cdefab。请实现字符串左旋转的函数。要求时间对长度为n的字符串操作的复杂度为 O(n),辅助内存为 O(1)。*/#include<iostream>#include<stdio.h>#include<string.h>using namespace std;char* leftShift(char *str,int n){char *p=str+n;int i,len=strlen(str);while(*p!='\0')p++;i=0;while(i++<n)*p++=*str++;*p='\0';return p-len;} char* leftShift2(char *str,int n){char p[100];int i,k,len=strlen(str);for(i=n,k=0;i<len;i++,k++)//左移n位,实际是到坐标n-1为止,新的从n开始 p[k]=str[i];for(i=0;i<n;i++,k++)//剩下的n位, p[k]=str[i]; return p;} int main(){char str1[]={"abcdef"};char str2[]={"aaabbcedfkk"};char str3[]={"abcdef"};int num=3;printf("%s左移%d位为:",str1,num);printf("%s\n",leftShift(str1,num));num=5;printf("%s左移%d位为:",str2,num);printf("%s\n",leftShift(str2,num));num=2;printf("%s左移%d位为:",str3,num);printf("%s\n",leftShift2(str3,num));return 0;}
0 0
- 26 左旋转操作:把字符串前面的若干个字符移动到尾部
- 定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部)
- 定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。
- 算法习题26:定义字符串的左旋转操作,把字符串前面的若干个字符移动到字符串的尾部
- 每天学习一算法系列(1)(定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部)
- 微软算法100道题------定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。
- 每天学习一算法系列(1)(定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部)
- 【微软100题】定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。 如把字符串abcdef左旋转2位得到字符串cdefab。请实现字符串左旋转的函数。
- 定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。 * 如把字符串abcdef左旋转2位得到字符串cdefab。
- 把字符串前面的若干个字符移动到字符串的尾部
- 左旋转字符串的实现(将字符串前面的k个字符移动到字符串的尾部)
- Q421:把字符串前面的若干个字符转移到字符串的尾部
- 剑指Offer——把字符串前面的n个字符转移到字符串的尾部
- 字符串尾部m个移动到头部
- 将一个字符串的前n个字符旋转到后面,采用左旋,或者右旋。
- 【字符串】旋转字符串(左旋或右旋k个字符)
- 把字符串t复制到字符串s的尾部
- 将字符串中的‘*’移动到字符串最前面且不改变原来非‘*’字符的顺序
- HDU 2256 Problem of Precision(矩阵快速幂)
- Proguard5.0自动将泛型转成Object类型解决方法
- MingW下载与安装
- java进阶(七):详解JAVA代理
- 九.一八 勿忘国耻,勿忘编码耻
- 26 左旋转操作:把字符串前面的若干个字符移动到尾部
- Chrome 中的 JavaScript 断点设置和调试技巧
- mysql索引与视图【仅提供地址】
- 1——FFMPEG代码目录
- Prototype模式(原型模式)
- 采用Keepalived实现Redis双机高可用
- 毕向东JAVA视频讲解笔记(前三课)
- 【CF】466C Number of Ways 预处理
- 27 跳台阶,跳1级或2级,求总共多少跳法