admin 管理员组

文章数量: 1087677

[勇者闯LeetCode] 189. Rotate Array

[勇者闯LeetCode] 189. 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].

Information

  • Tags: Array
  • Difficulty: Easy

Solution

向右翻转k步 = 向右翻转(k % nums.size())步 = 前(nums.size()-k)元素reverse -> 后k元素reverse -> 所有元素reverse

C++ Code

class Solution {
public:void rotate(vector<int>& nums, int k) {if (!nums.empty()) {k %= nums.size();reverse(nums.begin(), nums.begin() + nums.size() - k);reverse(nums.begin() + nums.size() - k, nums.end());reverse(nums.begin(), nums.end());   }}
};

本文标签: 勇者闯LeetCode 189 Rotate Array