美文网首页
22.调整数组是奇数位于偶数前面

22.调整数组是奇数位于偶数前面

作者: HamletSunS | 来源:发表于2019-07-31 15:28 被阅读0次

    题意:如题目
    思路:本题只要求调整,不要求顺序,那么采用碰撞指针发或者定位索引法(也可认为是滑动窗口)即可完成。复杂度为O(n)。当然也可以利用空间降低算法复杂性,比如开辟新的数组,去记录谁是奇数谁是偶数,再拼接

    代码:

    class Solution {
    public:
        void reOrderArray(vector<int> &array) {
            int n=array.size();
            if(n<2)
                return ;
            vector<int> odd;
            int cur=0;
            for(int i=0;i<n;++i){
                if(array[i]%2){
                    array[cur++]=array[i];
                }
                else
                    odd.push_back(array[i]);
            }
            for(int i=0;i<odd.size();i++)
                array[cur++]=odd[i];
            
        }
    };
    

    相关文章

      网友评论

          本文标题:22.调整数组是奇数位于偶数前面

          本文链接:https://www.haomeiwen.com/subject/enktdctx.html