IMWeb提升营Day3 | 训练题13:调整数字顺序使奇数位于偶数前面

来源:互联网 发布:微信加友软件人脉神器 编辑:程序博客网 时间:2024/05/16 05:20

题目描述

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

思路

/* * 思路一:从后往前搜索,遇到奇数就删掉,并插入到数组最前面 */class Solution {public:    void reOrderArray(vector<int> &array) {        int length = array.size();        vector<int>::iterator iter = array.end();        iter--;        for(int i = 0; i < length; i++){            if(*iter%2 == 1){                int temp = *iter;                array.erase(iter);                array.insert(array.begin(),temp);            }else{                iter--;            }        }    }};/* * 思路二:复制到另外一个数组,然后挑着插入到数组前和数组后 * 思路三:类似冒泡,遇到前偶后奇就交换 */
阅读全文
0 0
原创粉丝点击