从右向左旋转数组,一共k次。k可以是任意数字。
public class Solution {
public void rotate(int[] nums, int k) {
if(k == 0 || nums.length==0 || nums.length==1)
return;
k = k % nums.length;
k = nums.length - k;
int[] tNums = new int[nums.length+k];
for(int i=0; i<nums.length; i++) {
tNums[i] = nums[i];
}
for(int i=0; i<k; i++) {
tNums[i+nums.length] = tNums[i];
}
int j=0;
for(int i=k; i<nums.length+k; i++) {
nums[j++] = tNums[i];
}
}
}
原文:http://www.cnblogs.com/wxisme/p/4521188.html