一、题目
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ef991fc7124904508363989c3a3ce41d.png)
二、思路
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/57cb2b999cf3806bb3586b021ac15042.png)
三、代码一
class Solution {
public:
void rotate(vector<int>& nums, int k) {
int size=nums.size();
k=k%size;
reverse(nums.begin(),nums.end());
reverse(nums.begin(),nums.begin()+k);
reverse(nums.begin()+k,nums.end());
}
};
四、代码二
class Solution {
public:
void reverse(vector<int>& nums, int start, int end) {
while (start < end) {
swap(nums[start], nums[end]);
start += 1;
end -= 1;
}
}
void rotate(vector<int>& nums, int k) {
k %= nums.size();
reverse(nums, 0, nums.size() - 1);
reverse(nums, 0, k - 1);
reverse(nums, k, nums.size() - 1);
}
};