189. 轮转数组
189. 轮转数组 - 力扣(LeetCode)
public class LeetCode189 {// 方法一:数组翻转public void rotate(int[] nums, int k) {int len = nums.length;int[] temp = new int[len];//创建一个临时数组保存反转后的数组for (int i = 0; i < len; i++) {temp[(i+k)%len] = nums[i];}for (int i = 0; i < len; i++){nums[i] = temp[i];}}// 方法二:三次翻转public void rotate2(int[] nums, int k) {int len = nums.length;k = k % len;reverse(nums, 0, len-1);reverse(nums, 0, k-1);reverse(nums, k, len-1);}private void reverse(int[] nums, int start, int end) {while (start < end) {int temp = nums[start];nums[start] = nums[end];nums[end] = temp;start++;end--;}}
}