题目描述
示例1
示例2
做题思路
知识点
代码
class Solution {
public void rotate(int[] nums, int k) {
k=k%nums.length;//此处考虑到k大于数组长度的情况
reverse(nums,0,nums.length-1);//将整个数组逆序
reverse(nums,0,k-1);//将区间[0,k-1]的数组逆序
reverse(nums,k,nums.length-1);//将区间[k,nums.length-1]的数组逆序
}
//数组逆序
public void reverse(int[] nums,int head,int tail){
for(int i=head,j=tail;i<j;i++,j--){
int temp=nums[i];
nums[i]=nums[j];
nums[j]=temp;
}
}
}