#include <iostream>
using namespace std;
void myReverse(int nums[], int start, int end) {
while (start < end) {
int tmp = nums[start];
nums[start++] = nums[end];
nums[end--] = tmp;
}
}
int* rotate(int nums[],int n, int k) {
myReverse(nums, 0, n - 1 - k);//前n-k个元素反转
myReverse(nums, n - k, n - 1);//后k个元素反转
myReverse(nums, 0, n - 1);//整体反转后,后k个元素正序到了前k个位置,完成旋转
return nums;
}
void test()
{
int a[]={1,2,3,4,5,6,7,8,9};
size_t len=sizeof(a)/sizeof(int);
rotate(a,len,4);
for (size_t i=0;i<len;++i){
cout<<a[i]<<" ";
}
}