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