我们就先给出最基本的了,至于另外两种,以后研习。
但就是最基本的,还错了两次
public class Solution {
public void rotate(int[] nums, int k) {
if (nums == null || nums.length < 2 || k == 0) {
return;
}
if(k >= nums.length)
k=k%nums.length;
int [] newArray = new int[nums.length];
int i = 0;
for (int j = nums.length - k; j < nums.length; i++, j++) {
newArray[i] = nums[j];
}
//2 for (int j = 0; j < k; i++, j++) {
//for (int j = 0; j < nums.length - k; i++, j++) {
for (int j = 0; i < nums.length; i++, j++) {
newArray[i] = nums[j];
//1 newArray[--i] = nums[j];
}
i = 0;
for (int x: newArray) {
nums[i++] = x;
}
}
}