数组轮转问题
例题,LeetCode189
思路如下
void rotate(int *nums,int numsSize,int k)
{
k% =numsSize; //防止k大于numssize
reverse(nums, 0 , numsSize -1);
reverse(nums, 0 , k-1);
reverse(nums, k , numsSize -1);
}
void reverse(int* nums,int start,int end)
{
while(start<end)
{
int temp=nums[start];
nums[strat]=nums[end];
nums[end]=temp;
start+=1;
end-=1;
}
}