写着简单,但就是想不到,以后多看看,往后转k个,好像是408哪年的真题?
先进行全部翻转
然后从开头到Len进行翻转
len= k%nums.length-1
再对后面的进行翻转
class Solution {
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;
}
}
}