1 /**
2 * @param {number[]} nums
3 * @return {void} Do not return anything, modify nums in-place instead.
4 */
5 var sortColors = function (nums) {
6 let left = 0;
7 let right = nums.length - 1;
8 let i = 0;
9 for (; i <= right;) {
10 if (nums[i] === 2) { // 当前元素为红色
11 [nums[i], nums[right]] = [nums[right], nums[i]]; // 将红色元素移动到红色区域的最左端
12 right--;
13 } else if (nums[i] === 0) { // 当前元素为蓝色
14 [nums[i], nums[left]] = [nums[left], nums[i]]; // 将蓝色元素移动到蓝色区域的最右端
15 left++;
16 i++;
17 } else { // 当前元素为白色
18 i++;
19 }
20 }
21 };