题目描述:
Given a string and an offset, rotate string by offset. (rotate from left to right)
Example
Given "abcdefg"
.
offset=0 => "abcdefg"
offset=1 => "gabcdef"
offset=2 => "fgabcde"
offset=3 => "efgabcd"
Challenge
题目思路:
Rotate in-place with O(1) extra memory.
用一个substr搞定。
Mycode(AC = 7ms):
class Solution {
public:
/**
* @param str: a string
* @param offset: an integer
* @return: nothing
*/
void rotateString(string &str,int offset){
//wirte your code here
if (str.length() == 0) {
return;
}
int os = offset % str.length();
str = str.substr(str.length() - os) + str.substr(0, str.length() - os);
}
};