关于
lintcode系列,第8题,题目网址:https://www.lintcode.com/problem/rotate-string/description
描述
给定一个字符串(以字符数组的形式给出)和一个偏移量,根据偏移量原地旋转字符串(从左向右旋转)。
样例:
样例 1:
输入: str="abcdefg", offset = 3
输出: "efgabcd"
样例 2:
输入: str="abcdefg", offset = 0
输出: "abcdefg"
样例 3:
输入: str="abcdefg", offset = 1
输出: "gabcdef"
样例 4:
输入: str="abcdefg", offset =2
输出:"fgabcde"
思路
string的简单用法。
C++实现
class Solution {
public:
/**
* @param str: An array of char
* @param offset: An integer
* @return: nothing
*/
void rotateString(string &str, int offset) {
if(str.size()==0) {
return ;
}
offset = offset%str.size();
string rst(str,str.size()-offset,offset);
string a(str,0,str.size()-offset);
rst+=a;
str=rst;
};