题目链接

21. 调整数组顺序使奇数位于偶数前面

思路分析

首尾双指针

class Solution {
public:
    vector<int> exchange(vector<int>& nums) {
        std::ios::sync_with_stdio(false);
        int i = 0, j = nums.size() - 1;
        while(i < j){
            while(nums[i] % 2 == 1 && i < j) i++;
            while(nums[j] % 2 == 0 && i < j) j--;
            if(i < j) swap(nums[i], nums[j]);
        }
        return nums;
    }
};