logologo

75. 颜色分类

Feb 5

题目链接 🔗


/**
 * 75. 颜色分类(荷兰国旗问题)
 * @param nums
 */
void sortColors(vector<int> &nums) {
    int N = nums.size();
    if (nums.empty() || N < 2)return;

    int zero = 0;
    int two = N;
    int i = 0;
    while (i < two) {
        if (nums[i] == 0) {
            swap(nums[zero], nums[i]);
            zero++;
            i++;
        } else if (nums[i] == 1) {
            i++;
        } else {
            two--;
            swap(nums[i], nums[two]);
        }
    }

}
浙ICP备2021022773号    2022-PRESENT © ZhengKe