【剑指offer】左旋转字符串

题目链接:左旋转字符串


题意:汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!

 

题解:判断一下我们需要移动到哪个位置上,截取成两段,后前组合即可。

 

代码:

 

 1 class Solution {
 2 public:
 3     string LeftRotateString(string str, int n) {
 4         int len = str.size();
 5         if(len <= 0 )    return str;
 6         int flag = n%len;
 7         if(flag == 0)    return str;
 8         string front = str.substr(0,flag);
 9         string last = str.substr(flag);
10         last = last+front;
11         return last;
12     }
13 };

 

posted @ 2020-03-04 23:17  甜酒果。  阅读(96)  评论(0编辑  收藏  举报