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;
        }
    }
}
相关推荐
leo__5202 小时前
IEC 104 协议 C 语言实现
c语言·数据库
啧不应该啊4 小时前
Day1 Python 与 C 的类型区别
c语言·开发语言
cen__y4 小时前
Linux07(信号01)
linux·运维·服务器·c语言·开发语言
玛丽莲茼蒿7 小时前
Leetcode hot100 每日温度【中等】
算法·leetcode·职场和发展
样例过了就是过了8 小时前
LeetCode热题100 分割等和子集
数据结构·c++·算法·leetcode·动态规划
木木_王8 小时前
嵌入式Linux学习 | 数据结构 (Day05) 栈与队列详解(原理 + C 语言实现 + 实战实验 + 易错点剖析)
linux·c语言·开发语言·数据结构·笔记·学习
北顾笙9808 小时前
day38-数据结构力扣
数据结构·算法·leetcode
m0_629494738 小时前
LeetCode 热题 100-----14.合并区间
数据结构·算法·leetcode
xin_nai8 小时前
LeetCode热题100(Java)(5)普通数组
算法·leetcode·职场和发展
Joseph Cooper9 小时前
Linux HID 子系统实战:从虚拟键盘到 input 事件上报
linux·c语言·计算机外设