调整数组顺序,要求所有奇数在偶数前面,常数时间复杂度

时间:2020-09-10 22:36:24   收藏:0   阅读:38

技术图片

 

 

 

进行一次快排即可

class Solution {
public:
    vector<int> exchange(vector<int>& nums) {
        int le = 0;
        int ri = nums.size() - 1;
        while(le<ri){
            while (le < ri&&nums[ri] % 2 == 0)
                ri--;
            while (le < ri&&nums[le] % 2 == 1)
                le++;
            if (le < ri) {
                int temp = nums[le];
                nums[le] = nums[ri];
                nums[ri] = temp;
            }
        }
        return nums;
    }
};

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!