classSolution:# @param s: a list of char# @param offset: an integer # @return: nothingdefrotateString(self, s, offset):# write you code hereif len(s) == 0 :
return s
m = len(s)
offset %= m
n = m - offset
tmp = s[n:]
while n > 0:
s[n + offset-1] = s[n-1]
n -= 1for i in range(offset):
s[i] = tmp[i]
Java
publicclassSolution {/**
* @param str: an array of char
* @param offset: an integer
* @return: nothing
*/publicvoidrotateString(char[] str, int offset) {
// write your code hereif (str.length == 0){
return;
}
int m = str.length;
offset %= m;
int n = m - offset;
char[] tmp = newchar[offset];
int k = 0;
for(int i=n; i<m; i++){
tmp[k++] = str[i];
}
while(n>0){
str[n+offset-1] = str[n-1];
n --;
}
for(int i=0; i<offset; i++){
str[i] = tmp[i];
}
}
}