编辑代码

/*
问题描述: 
给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排 列。 
此题中,我们使用整数 0 1  2 分别表示红色、白色和蓝色。
*/
let numList = [2, 0, 2, 1, 1, 0,1,2,0,2,2,0,1,2,1,1,0,1];
let colorSort = function(nums){
    if(!nums || nums.length<=0){
        return [];
    }
    let slow = 0;let fast = 1;
    let sortCont = 1;
    while(sortCont<=2){
        while(fast<nums.length){
            if(nums[fast] === nums[slow] && fast != slow + 1){
                let temp = nums[slow + 1];
                nums[slow + 1] = nums[fast];
                nums[fast] = temp;
                slow++;
            }
            fast++;
        }
        slow++;
        fast = slow + 1;
        sortCont++;
    }
    return nums;
}

console.log(colorSort(numList))