本来以为需要时间复杂度O(n),空间复杂度O(1)的解法,实在没想出来去看了官方题解,结果还是需要n方的时间复杂度。。。

class Solution {
public:
    void reOrderArray(vector<int> &array) {
        int i = 0;
        for (int j = 0; j < array.size(); j++) {
            if (array[j] % 2) {
                int tmp = array[j];
                for (int k = j - 1; k >= i; k--) {
                    array[k + 1] = array[k];
                }
                array[i++] = tmp;
            }
        }
    }
};