<span>字符串循环左移</span>

字符串循环左移:

给定一个字符串,要求把S的前k个字符移动到S的尾部,如把字符串"abcdef"前面的2个字符'a','b'移动到字符串的尾部,得到新字符"cdefab",即字符串循环左移k位。

程序实现:

 1 /***************************************
 2 FileName ReverseString.cpp
 3 Author : godfrey
 4 CreatedTime : 2016/5/1
 5 ****************************************/
 6 #include <iostream>
 7 #include <cstring>
 8 #include <stdio.h>
 9 #include <stdlib.h>
10 
11 using namespace std;
12 
13 void ReverseString(char* str,int from,int to){
14     char t;
15     while(from < to){
16         t = str[from];
17         str[from++] = str[to];
18         str[to--] = t;
19     }
20 }
21 
22 void LeftRotateString(char* str,int n,int m){
23     m %= n;
24     ReverseString(str,0,m-1);
25     ReverseString(str,m,n-1);
26     ReverseString(str,0,n-1);
27 }
28 int main()
29 {
30     char str[] = "abcdef";
31     cout<<str<<endl;
32     LeftRotateString(str,strlen(str),2);
33     cout<<"-------------LeftRotate 2----------"<<endl;
34     cout<<str<<endl;
35     return 0;
36 }

运行结果:

转载请注明出处:

C++博客园:godfrey_88

http://www.cnblogs.com/gaobaoru-articles/

全部评论

相关推荐

05-07 17:58
门头沟学院 Java
wuwuwuoow:1.简历字体有些怪怪的,用啥写的? 2.Redis 一主二从为什么能解决双写一致性? 3.乐观锁指的是 SQL 层面的库存判断?比如 stock > 0。个人认为这种不算乐观锁,更像是乐观锁的思想,写 SQL 避免不了悲观锁的 4.奖项证书如果不是 ACM,说实话没什么必要写 5.逻辑过期时间为什么能解决缓存击穿问题?逻辑过期指的是什么 其实也没什么多大要改的。海投吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务