LeetCode:1470. 重新排列数组

方法一

我们通过观察可以看到在答案数组中 ,如果下标是偶数i,就是nums中i/2的元素,如果下标是奇数i,逐个递增n之后的n个元素

class Solution {
public:
    vector<int> shuffle(vector<int>& nums, int n) {
        vector<int> re;
        int e = n;
        for(int i = 0;i < n*2;i++)
        {
            if(i%2)
            {
                re.push_back(nums[e]);
                e = e+1;
            }
            else
                re.push_back(nums[i/2]);
        }
        return re;
    }
};

方法二

逐个push_back;

class Solution {
public:
    vector<int> shuffle(vector<int>& nums, int n) {
        vector<int> re;
        for(int i = 0;i < n;i++)
        {
            re.push_back(nums[i]);
            re.push_back(nums[i+n]);
        }
        return re;
    }
};

你可能感兴趣的:(#,LeetCode)