LC 189 Rotate Array(S)
Solution 1 - Intermediate Array
public void rotate(int[] nums, int k) {
// 保证 k < length
if(k > nums.length)
k=k%nums.length;
int[] result = new int[nums.length];
// 移动 0 到 k-1
for(int i=0; i < k; i++){
result[i] = nums[nums.length-k+i];
}
// 移动 k 到 length - 1
int j=0;
for(int i=k; i<nums.length; i++){
result[i] = nums[j];
j++;
}
System.arraycopy( result, 0, nums, 0, nums.length );
}Last updated