75. 颜色分类

题目链接:https://leetcode.cn/problems/sort-colors/description/?source=vscode

 

 

 

 

 

 

 

 

 

 

 

 

 

 

解析:

三指针就好了,一个控制0的结果下标,一个控制2的,最后一个来遍历,如果是0则放到前面,是2放到后边

class Solution {
public:
    void sortColors(vector<int>& nums) {
        int i = 0, j = nums.size() - 1;
        int p = 0;
        while (p <= j) {
            if (nums[p] == 0) {
                swap(nums[p], nums[i]);
                i++;
            } else if (nums[p] == 2) {
                swap(nums[p], nums[j]);
                j--;
            } else {
                p++;
            }
            while(p < i) p++;
        }
    }
};

 

posted @ 2025-09-03 23:07  WTSRUVF  阅读(7)  评论(0)    收藏  举报