左旋转字符串
来源:互联网 发布:优化网站实例 编辑:程序博客网 时间:2024/04/30 02:44
题目:定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。如把字符串abcdef左旋转2位得到字符串cdefab。
请实现字符串左旋转的函数。要求时间对长度为n的字符串操作的复杂度为O(n),辅助内存为O(1)。
思想:旋转三次
#include <iostream>#include <assert.h>using namespace std;void ReserveString(char *input, int begin, int end){assert(begin<=end);while(begin < end){char temp=*(input+begin);*(input+begin)=*(input+end);*(input+end)=temp;begin++;end--;}}void LeftRotateString(char* pStr, int n){int len=strlen(pStr);ReserveString(pStr, 0, n-1);ReserveString(pStr, n, len-1);ReserveString(pStr, 0, len-1);}void main(){char p[]="abcdefghijk";//如果改成char *p="abcdefghijk";会出现内存错误,原因是:char *p的p在常量区,不能再对其赋值cout<<"旋转前字符串:"<<p<<endl;LeftRotateString(p, 4);cout<<"旋转后字符串:"<<p<<endl;}
- 左旋转字符串
- 左旋转字符串
- 左旋转字符串
- 左旋转字符串
- 左旋转字符串
- 26.左旋转字符串
- 第一章、左旋转字符串
- 字符串的左旋转
- 第一章、左旋转字符串
- 第一章、左旋转字符串
- 左旋转字符串
- 左旋转字符串
- 26、左旋转字符串
- 左旋转字符串
- 左旋转字符串
- 左旋转字符串
- 左旋转字符串
- 左旋转字符串
- 取出下拉框的值及拆分
- Eclipse的使用秘籍,MyEclipse一样管用
- ASP.NET MVC3 快速入门-第五节 从控制器访问模型中的数据
- DELL PERC H700_H800完全手册
- showmodelDialog的使用示例
- 左旋转字符串
- 监听IE访问的URL
- Javascript/CSS beautifier
- 忘记mysql 5.1 root密码的处理方法
- 第十五周实验--任务1--《窗口程序设计及MFC启蒙》--为应用程序增加求周长的功能
- linux驱动系统调用ioctl()的cmd参数详解【字段划分图】
- Android系统服务启动分析-binder
- Flex 基础学习笔记
- struts2中result的各种type的作用