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

一、对最终的奇数和偶数不需要保持顺序的版本

无法AC

class Solution {
public:
    void reOrderArray(vector<int> &array) {

        int len=array.size();
        int left=0,right=len-1;
        //left指针指向偶数,right指向奇数则调整

        //双指针之左右指针
        while( left<right )
        {
            //一定要加括号,不然会超时
            while( left<right && (1 == (array[left]&1) ))
            {
                ++left;
            }


            while( left<right && (0 == (array[right]&1) ) )
            {
                --right;
            }

            if( left<right && (0==(array[left]&1) ) && (1==(array[right]&1) ) )
            {
                array[left]^=array[right];
                array[right]^=array[left];
                array[left]^=array[right];
                ++left;
                --right;
            }

        }

    }
};

样例:
[1,2,3,4,5,6,7]
输出
[1,7,3,5,4,6,2]

但是要求
[1,3,5,7,2,4,6]

记载一个bug

超时。由于优先级

0==(array[left]&1)

这个先前没有加上括号,结果超时了