Rotate String
offset=0 => "abcdefg"
offset=1 =>"gabcdef"
offset=2 => "fgabcde"
offset=3 => "efgabcd" public void rotateString(char[] str, int offset) {
// 判断非空和长度xxx
if (str == null || str.length == 0)
return;
int n = str.length;
offset = offset % str.length;//注意Offset要取模xxx
reverse(str, 0, n - offset - 1);
reverse(str, n - offset, n-1);
reverse(str, 0, n-1);
}
public void reverse(char[] str, int s, int e){
while(s < e){
char temp = str[s];
str[s++] = str[e];
str[e--] = temp;
}
}Last updated