題目大意:數組中最後一個元素移到第一個,稱動k次數組
思路:用笨方法,再複製一個數組code
Java實現:ip
public void rotate(int[] nums, int k) { int[] numsCopy = Arrays.copyOf(nums, nums.length); for (int i=0; i<nums.length; i++) { nums[(i+k)%nums.length] = numsCopy[i]; } }
別人的實現:leetcode
public void rotate(int[] nums, int k) { k %= nums.length; reverse(nums, 0, nums.length - 1); reverse(nums, 0, k - 1); reverse(nums, k, nums.length - 1); } public void reverse(int[] nums, int start, int end) { while (start < end) { int temp = nums[start]; nums[start] = nums[end]; nums[end] = temp; start++; end--; } }