代码实现:
// 逆置数组 void nizhi_array(int *nums, int l, int r) { // 左闭右闭 if (l >= r) { return; } int i = l, j = r; while (i < j) { int temp = nums[i]; nums[i] = nums[j]; nums[j] = temp; i++; j--; } } void rotate(int *nums, int numsSize, int k) { if (k > numsSize) { k %= numsSize; } if (nums == NULL || k == 0 || numsSize == 1) { return; } nizhi_array(nums, 0, numsSize - 1); nizhi_array(nums, 0, k - 1); nizhi_array(nums, k, numsSize - 1); }