思路灵感来自:插入排序

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

https://www.nowcoder.com/practice/ef1f53ef31ca408cada5093c8780f44b?tpId=13&&tqId=11166&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

  • 思路灵感来自:插入排序
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param array int整型vector 
     * @return int整型vector
     */
    vector<int> reOrderArray(vector<int>& array) {
        // write code here
        int Len=array.size();
        if( Len<=1 )
        {
            return array;
        }


        for( int cur=1; cur<Len; ++cur )
        {
            //奇数
            if( array[cur]&1 )
            {
                int pos=cur;
                while( pos>0 )
                {
                    if( 0==(array[pos-1]&1) )
                    {
                        swap( array[pos], array[pos-1] );
                        --pos;
                    }
                    else
                    {
                        break;
                    }
                }
            }
        }

        return array;
    }
};
全部评论

相关推荐

鼗:四级有点难绷,感觉能拿国家励志奖学金,学习能力应该蛮强的,四级确实不重要,但是拿这个卡你可是很恶心啊
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务