https://leetcode.com/problems/sort-colors/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**
* @param {number[]} nums
* @return {void} Do not return anything, modify nums in-place instead.
*/
var sortColors = function(nums) {
let second = nums.length - 1
let zero = 0
for(let i = 0; i <= second; i++) {
while(nums[i] === 2 && i < second) {
[nums[i], nums[second]] = [nums[second], nums[i]]
second--
}
while(nums[i] === 0 && i > zero) {
[nums[i], nums[zero]] = [nums[zero], nums[i]]
zero++
}
}
};