1 class Solution {
2 public:
3 /**
4 * @param str: a string
5 * @param offset: an integer
6 * @return: nothing
7 */
8 void rotateString(string &str,int offset){
9 //wirte your code here
10 if(str.empty())
11 return;
12
13 int off = offset % str.size();
14 if(off != 0) {
15 string suffix(off+1, ‘\0‘);
16 int i, j, size=str.size();
17 for(j=0,i=size-off; i<size; i++,j++) {
18 suffix[j] = str[i];
19 }
20 for(i=size-off-1; i>=0; i--) {
21 str[i+off] = str[i];
22 }
23 for(i=0; i<off; i++) {
24 str[i] = suffix[i];
25 }
26 }
27 }
28 };