题目

方法一:sort()

var sortColors = function(nums) {
  return nums.sort();
};

方法二:冒泡排序

var sortColors = function(nums) {
  for(let i=nums.length;i>=0;i--){
    for(let j=1;j<i;j++){
      if(nums[j-1]>nums[j]){
        [nums[j],nums[j-1]] = [nums[j-1],nums[j]];
      }
    }
  }
  return nums;
};

方法三:三指针

var sortColors = function(nums) {
  let num0 = 0,num1 = 0,num2 = 0;
  for(let i=0;i<nums.length;i++){
    if(nums[i]===0){
      nums[num2++] = 2;
      nums[num1++] = 1;
      nums[num0++] = 0;
    }else if(nums[i]===2){
      nums[num2++] = 2;
      nums[num1++] = 1;
    }else{
      nums[num2++] = 2;
    }
  }
  return nums;
};