C语言 | Leetcode C语言题解之第75题颜色分类

题目:

题解:

cpp 复制代码
void swap(int *a, int *b) {
    int t = *a;
    *a = *b, *b = t;
}

void sortColors(int *nums, int numsSize) {
    int p0 = 0, p2 = numsSize - 1;
    for (int i = 0; i <= p2; ++i) {
        while (i <= p2 && nums[i] == 2) {
            swap(&nums[i], &nums[p2]);
            --p2;
        }
        if (nums[i] == 0) {
            swap(&nums[i], &nums[p0]);
            ++p0;
        }
    }
}
相关推荐
山下梅子酒2253 分钟前
洛谷-入门-B2043
c语言
圣保罗的大教堂1 小时前
leetcode 3483. 不同三位偶数的数目 简单
leetcode
mmmmath_32 小时前
LeetCode.018.四数之和
数据结构·算法·leetcode
幼儿园蛋小黑2 小时前
【无标题】C语言变量,类型转换,运算符,输入和输出
c语言·嵌入式实时数据库
圣保罗的大教堂4 小时前
leetcode 836. 矩形重叠 简单
leetcode
Logic1014 小时前
C语言/数据结构位运算题解:异或XOR找出独特卡片数字——只出现一次的元素
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
土司大王4 小时前
LeetCode hot100——394.字符串解码:Java 双栈模拟
java·算法·leetcode
a187927218314 小时前
【算法】双指针与滑动窗口(三):相向双指针——比较、排除、收缩
算法·leetcode·双指针·滑动窗口·原理·相向双指针·算法讲解
代码王同学4 小时前
2026.9.15日C++类和对象学习收获笔记
c语言·c++
irislinAmelia5 小时前
Day11文章_多路视频流加权公平调度与令牌桶QoS
c语言·人工智能