class Solution {
public:
/**
1.冒泡排序,空间复杂度为O(1)
2.空间复杂度O(n)
3.相对位置可以改变可以用快速排序
*/
vector<int> reOrderArray(vector<int>& array) {
int flag = true;
while (flag) {
flag = false;
for (int i = 1; i < array.size(); ++i) {
if(array[i-1]%2==0 && array[i]%2){
flag = true;
swap(array[i-1],array[i]);
}
}
}
return array;
}
// 多声明一个O(n)空间
vector<int> reOrderArray(vector<int>& array) {
vector<int> res;
for (auto n: array) {
if (n % 2) {
res.push_back(n);
}
}
for (auto n: array) {
if (n % 2==0) {
res.push_back(n);
}
}
return res;
}
};