题解 | #调整数组顺序使奇数位于偶数前面#

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

http://www.nowcoder.com/practice/ef1f53ef31ca408cada5093c8780f44b

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param array int整型vector 
     * @return int整型vector
     不需要相对顺序
     vector<int> reOrderArray(vector<int>& array) {
        // write code here
        int n=array.size();
        if(n==0||n==1)
            return array;
        int l=0;
        int r=n-1;
        while(l<r)
        {
            while(l<r&&array[l]%2==1)
            {
                l++;
            }
            while(l<r&&array[r]%2==0)
            {
                r--;
            }
            if(l<r)
            {
                swap(array[l],array[r]);
            }
        }
        return array;
    }
     */
    vector<int> reOrderArray(vector<int>& array) {
        // write code here
        //插入排序改写 遇到j为奇数而j-1为偶数,就交换
        for(int i=1;i<array.size();i++)
        {
            for(int j=i;j>=1;j--)
            {
                if(array[j]%2==1&&array[j-1]%2==0)
                {
                    swap(array[j],array[j-1]);
                }
            }
        }
        return array;
    }
};
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务