Rotate String
offset=0 => "abcdefg"
offset=1 => "gabcdef"
offset=2 => "fgabcde"
offset=3 => "efgabcd" public void rotateString(char[] str, int offset) {
if(str == null || str.length == 0)
return;
if(offset > str.length){
offset = offset % str.length;
}
helper(str, 0, str.length - 1 - offset);
helper(str, str.length - offset, str.length - 1);
helper(str, 0 , str.length - 1);
}
private char[] helper(char[] cs, int ss, int e){
while(ss < e){
char temp = cs[ss];
cs[ss] = cs[e];
cs[e] = temp;
ss ++;
e --;
}
return cs;
}Last updated