Leetcode Rotate Array

来源:互联网 发布:铃声mac版 编辑:程序博客网 时间:2024/06/09 15:27

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].

数组的旋转问题,需要找到每一个位置对应旋转之后的位置,保存为 itoj 数组,然后需要申请与nums相同的向量空间,赋值就可以了

class Solution {public:    void rotate(vector<int>& nums, int k) {      vector<int > result(nums.size(),0);       vector<int > itoj;       if(k<=0)            return ;       for(int i=0; i<nums.size(); i++)       {           itoj.push_back((i + k) % nums.size());       }        for(int j=0; j<nums.size();j++)        {            result[itoj[j]] = nums[j];        }        nums = result;    }};

Submission Result: Accepted


0 0
原创粉丝点击