javascript
/**
* @param {number[]} nums
* @return {void} Do not return anything, modify nums in-place instead.
*/
var sortColors = function (nums) {
let l = 0,
r = nums.length - 1
for (let i = 0; i <= r; i++) {
if (nums[i] === 0) {
swap(nums, i, l)
// ;[nums[i], nums[l]] = [nums[l], nums[i]]
l++
} else if (nums[i] === 2) {
swap(nums, i, r)
// ;[nums[r], nums[i]] = [nums[i], nums[r]]
r--
i--
}
}
function swap(arr, a, b) {
let tmp = arr[a]
arr[a] = arr[b]
arr[b] = tmp
}
return nums
}