思路1:
void reverse(int *nums,int left,int right){
while(left<right){
int temp=nums[left];
nums[left]=nums[right];
nums[right]=temp;
right--;
left++;
}
}
void rotate(int* nums, int numsSize, int k){
if(k>=numsSize){
k%=numsSize;
}
reverse(nums,numsSize-k,numsSize-1);
reverse(nums,0,numsSize-k-1);
reverse(nums,0,numsSize-1);
}
思路2:
void rotate(int* nums, int numsSize, int k){
int newarr[numsSize];
for(int i=0;i<numsSize;i++){
newarr[(k+i)%numsSize]=nums[i];
}
for(int i=0;i<numsSize;i++){
nums[i]=newarr[i];
}
}