c_cpp 189.旋转阵列 - 难度容易 - 2018.9.4

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 189.旋转阵列 - 难度容易 - 2018.9.4相关的知识,希望对你有一定的参考价值。

class Solution {
public:
    void swap(vector<int>&nums, int left, int right) {
        if (left >= right || nums.size() <= 0 || left < 0 || right >= nums.size()) {
            return;
        }
        int tmp;
        while (left < right) {
            tmp = nums[right];
            nums[right] = nums[left];
            nums[left] = tmp;
            left++; right--;
        }
    }
    void rotate(vector<int>& nums, int k) {
        k = k % nums.size();
        swap(nums, 0, nums.size()-k-1);
        swap(nums, nums.size()-k, nums.size()-1);
        swap(nums, 0, nums.size()-1);
    }
};

以上是关于c_cpp 189.旋转阵列 - 难度容易 - 2018.9.4的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 用于阵列旋转的块交换算法

c_cpp 349.两个阵列的交叉点 - 难度易 - 2018.9.17

Leetcode刷题100天—189. 旋转数组(双指针)—day20

Leetcode刷题100天—189. 旋转数组(双指针)—day20

c_cpp 217.包含重复 - 难度容易 - 2018.9.17

c_cpp 202.幸福数字 - 难度容易 - 2018.9.17