LeetCode 189.轮转数组
1.这个题我用的方法比较巧妙,大家如果觉得好的话,就给个免费的赞吧^ _ ^,谢谢了。
void reverse(int* nums,int left,int right)
{while(left < right){int a = nums[left];nums[left] = nums[right];nums[right] = a;left++;right--;}
}
void rotate(int* nums, int numsSize, int k)
{if(k >= numsSize)k %= numsSize;//前n - k个数逆置reverse(nums,0,numsSize - k - 1);//后k个数逆置reverse(nums,numsSize - k,numsSize - 1);//全部逆置reverse(nums,0,numsSize - 1);
}