class Solution {
public:
void reOrderArray(vector<int> &array) {
int i = 0; // 定义指向数组开头的指针 i
int j = array.size() - 1; // 定义指向数组末尾的指针 j
while (i < j) { // 当 i 小于 j 时,继续执行循环
while (i < j && array[i] % 2) i++; // 从数组开头找到第一个偶数元素,停在这里
while (i < j && array[j] % 2 == 0) j--; // 从数组末尾找到第一个奇数元素,停在这里
if (i < j) // 如果 i 仍然小于 j
swap(array[i], array[j]); // 交换奇数和偶数元素的位置,将奇数元素移动到偶数元素的前面
}
}
};