OJ06:力扣922. 按奇偶排序数组 II

OJ06:力扣922. 按奇偶排序数组 II_第1张图片

OJ06:力扣922. 按奇偶排序数组 II_第2张图片

算法:设置两个变量控制下标,一个是奇数下标,一个是偶数下标,每次这两个下标使用完+=2即可下一次

class Solution {
public:
    vector<int> sortArrayByParityII(vector<int>& A) {
        int j = 1, o = 0; // 奇偶数
        vector<int> ret = A;
        for (int i = 0; i < A.size(); i++) {
            if (ret[i] % 2 == 0)
            {
                A[o] = ret[i];
                o += 2;
            }
            if (ret[i] % 2 != 0)
            {
                A[j] = ret[i];
                j += 2;
            }
        }
        return A;
    }
};

哦,力扣官方还有使用双指针的算法,其原理就是遍历交换,很简单

你可能感兴趣的:(OJ,算法,leetcode,c++,oj系统)