# 旋转数组

给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。

 

进阶:

 

示例 1:

输入: nums = [1,2,3,4,5,6,7], k = 3
输出: [5,6,7,1,2,3,4]
解释:
向右旋转 1 步: [7,1,2,3,4,5,6]
向右旋转 2 步: [6,7,1,2,3,4,5]
向右旋转 3 步: [5,6,7,1,2,3,4]

示例 2:

输入:nums = [-1,-100,3,99], k = 2
输出:[3,99,-1,-100]
解释: 
向右旋转 1 步: [99,-1,-100,3]
向右旋转 2 步: [3,99,-1,-100]

 

提示:

## template ```cpp #include using namespace std; class Solution { public: void rotate(vector &nums, int k) { if (nums.empty()) { return; } int length = nums.size(); k %= length; while (k--) { int temp = nums[length - 1]; for (int i = length - 1; i > 0; i--) { nums[i] = nums[i - 1]; } nums[0] = temp; } } }; ``` ## 答案 ```cpp ``` ## 选项 ### A ```cpp ``` ### B ```cpp ``` ### C ```cpp ```