给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。(C语言,O(1)空间复杂度)
void rotate(int* nums, int numsSize, int k){ if (numsSize < k)//当要移动的数字长度大于数组长度 { while (numsSize < k) { k = k - numsSize; } } int i = 0; int j = numsSize - 1; for (; i < j; i++, j--)//将整个数组逆置 { int tmp = nums[i]; nums[i]