c++实现旋转数组

题目:

给定一个整数数组 nums,将数组中的元素向右轮转 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]

分析:

实现开头结尾前后调换即可

class Solution {
public:
    void change(vector&nums,int start,int end){
     while(start& nums, int k) {
     k %= nums.size();
     change(nums,0,nums.size()-1);
     change(nums,0,k-1);
     change(nums,k,nums.size()-1);

    }
};

你可能感兴趣的:(c++,算法,开发语言)