2020-07-22 09:34发布
public class Test { public static char[] reverse(char[] arr, int start, int end) { int n = arr.length; // abc 奇数 // abcd 偶数 int mid = (start + end) / 2; for (int i = start, j = end; i <= mid; i++, j--) { char temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } return arr; } public static char[] leftRotateString(char[] arr, int k) { //字符串abcdefgh -> defghabc // 需要三步: // reverse(0,i-1); //cba defgh // reverse(i,n-1); //cba hgfed // reverse(0,n-1); //defghabc int n = arr.length; reverse(arr, 0, k - 1); reverse(arr, k, n - 1); reverse(arr, 0, n - 1); return arr; } public static void main(String[] args) { char[] arr = "abcdefg".toCharArray(); leftRotateString(arr, 3); System.out.println(arr); } }
最多设置5个标签!
一周热门 更多>