class Solution {
public:
void reOrderArray(vector<int> &array) {
// 头指针从头开始遍历,尾指针从尾开始遍历
int i = 0, j = array.size() - 1;
while(i < j) {
// 头指针向后遍历直到遇到第一个偶数
while(i < j && array[i] % 2 == 1) i++;
while(i < j && array[j] % 2 == 0) j--;
// 交换两个指针所指的数
if (i < j) swap(array[i], array[j]);
}
}
};