题目描述
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
个人思路:开辟一个 v e c t o r vector vector数组,先遍历一遍将数组中奇数存入 v e c t o r vector vector,然后再次遍历将偶数存入 v e c t o r vector vector,再将 v e c t o r vector vector复制会原数组,达成调整顺序的目的
class Solution {
public:
void reOrderArray(vector<int> &array) {
if (array.empty())
return;
vector<int> ans;
for (int i = 0; i < array.size(); ++i) {
if (!judge(array[i]))
ans.push_back(array[i]);
}
for (int i = 0; i < array.size(); ++i) {
if (judge(array[i]))
ans.push_back(array[i]);
}
array = ans;
}
bool judge(int n) {
return (n & 1) == 0;
}
};