publicvoid(int[] nums, int k){ if (nums.length < 2) return; int n = nums.length; k = k % n; reverse(nums, 0, n - k - 1); reverse(nums, n - k, n - 1); reverse(nums, 0, n - 1); return; }
publicvoidreverse(int[] nums, int start, int end){ while (start <= end) { int temp = nums[start]; nums[start] = nums[end]; nums[end] = temp; start++; end--; } }
//TLE publicvoid(int[] nums, int k){ if (nums.length < 2) return; int n = nums.length; k = k % n; while (k > 0) { // last index int temp = nums[n - 1]; for (int i = n - 1; i > 0; i--) { nums[i] = nums[i-1]; } nums[0] = temp; k--; } return; }
近期评论