题目连接
https://leetcode.com/problems/rotate-array/
Rotate Array
Description
Rotate an array of n elements to the right by k steps.
For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,7] is rotated to [5,6,7,1,2,3,4].
class Solution { public: void Reverse(vector<int>& nums, int i, int j) { for(; i < j; i++, j--) { int ret = nums[i]; nums[i] = nums[j]; nums[j] = ret; } } void rotate(vector<int>& nums, int k) { size_t n = nums.size(); if (!n || !(k % n)) return; k %= n; Reverse(nums, 0, n - k -1); Reverse(nums, n - k, n - 1); Reverse(nums, 0, n - 1); } };