LeetCode每日一题 (57)922. 按奇偶排序数组 II

在这里插入图片描述
在这里插入图片描述


class Solution {
    
    
public:
    // 使用双指针,一个为奇数 一个为偶数 然后交换两个位置的元素,遍历整个数组就好了
    vector<int> sortArrayByParityII(vector<int>& A) {
    
    
        int i=0,j=1,len=A.size(),t;
        while(i<len && j<len){
    
    
            while(i<len && i%2==0 && A[i]%2==0){
    
    
                i+=2;
            }
            while(j<len && j%2==1 && A[j]%2==1){
    
    
                j+=2;
            }
            if(i<len && j<len){
    
    
                t=A[i];
                A[i]=A[j];
                A[j]=t;
                i+=2;
                j+=2;
            }
        }
        return A;
    }
};

在这里插入图片描述


class Solution {
    
    
public:
    vector<int> sortArrayByParityII(vector<int>& A) {
    
    
        int a=0,b=1;
        vector<int> result(A.size());
        for(int i=0;i<A.size();i++){
    
    
            if(A[i]%2==0){
    
    
                result[a]=A[i];
                a+=2;
            }else{
    
    
                result[b]=A[i];
                b+=2;
            }
        }
        return result;
    }
};

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45021180/article/details/109661120