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

题目描述

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
 
提交链接:点击
 
思路:用空间换时间的做法。首先遍历整个数组,将奇数放入t1中,将偶数放入t2中,最后遍历数组,用t1,t2分别赋值即可!
 
代码:
class Solution {
public:
    void reOrderArray(vector<int> &array) {
        vector<int> t1,t2;  //t1存奇数,t2存偶数
        int i,j;
        for(i=0;i<array.size();i++){
            if(array[i]%2!=0){
                t1.push_back(array[i]);
            }else{
                t2.push_back(array[i]);
            }
        }
        for(i=0;i<t1.size();i++){
            array[i]=t1[i];
        }
        for(j=0;j<t2.size()&&i<array.size();j++,i++){
            array[i]=t2[j];
        }
    }
};

非学无以广才,非志无以成学! 【Magic_chao

原文地址:https://www.cnblogs.com/logo-88/p/9693838.html