[75] 颜色分类

 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 };

 

posted @ 2023-12-22 15:59  人恒过  阅读(20)  评论(0)    收藏  举报