题目考察的知识点:数组排序

题目解答方法的文字分析:先开辟一个数组,然后遍历一遍,将cows中0和2分别填入一个数组中,在遍历一遍数组,将没填入的附1。

本题解析所用的编程语言:c++

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param cows int整型vector 
     * @return int整型vector
     */
    vector<int> sortCows(vector<int>& cows)
    {
        // write code here
        vector<int> v(cows.size());
        int i = 0, j = cows.size() - 1;
        for (int k = 0; k < cows.size(); ++k)
        {
            if (cows[k] == 0)
                v[i++] = 0;
            else if (cows[k] == 2)
                v[j--] = 2;
        }
        for (int k = i; k <= j; ++k)
                v[k] = 1;
        return v;
    }
};