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].
Note: Try to come up as many solutions as you can, there are at least 3 different ways to solve this PRoblem.
编程珠玑里面也有类似这种思路的例子
class Solution {public: void rotate(vector<int>& nums, int k) { int n = nums.size(); reverse(nums.begin(), nums.begin() + n - k % n); reverse(nums.begin() + n - k % n, nums.begin() + n); reverse(nums.begin(), nums.end()); }};新闻热点
疑难解答