方法很笨,使用两个栈

import java.util.Stack;
public class Solution {
public void reOrderArray(int [] array) {
        if (array == null)
            return;
        int n = array.length;
        Stack<Integer> stack1 = new Stack<>();
        Stack<Integer> stack2 = new Stack<>();
        for (int i = n - 1; i >= 0; i--){
            if (array[i] % 2 == 0)
                stack2.add(array[i]);
            else
                stack1.add(array[i]);
        }
        for (int i = 0; i < n; i++){
            if (!stack1.isEmpty())
                array[i] = stack1.pop();
            else
                array[i] = stack2.pop();
        }
    }
}