【剑指offer】调整数组顺序使奇数位于偶数前面

题目链接:调整数组顺序使奇数位于偶数前面

 

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

 

题解:两个数组分别存奇偶数,清空原数组,然后全部奇偶丢进原数组。(STL大法好)

 

代码:

 1 class Solution {
 2 public:
 3     void reOrderArray(vector<int> &array) {
 4         vector<int> odd;
 5         vector<int> even;
 6         int len = array.size();
 7         for(int i = 0; i < len; i++){
 8             if(array[i] %  2)    odd.push_back(array[i]);
 9             else    even.push_back(array[i]);
10         }
11         int len1 = odd.size();
12         int len2 = even.size();
13         array.clear();
14         for(int i = 0; i < len1; i++){
15             array.push_back(odd[i]);
16         }
17         for(int i = 0; i < len2; i++){
18             array.push_back(even[i]);
19         }
20     }
21 };

 

posted @ 2020-03-02 23:33  甜酒果。  阅读(96)  评论(0编辑  收藏  举报