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;
        }
    }
}
相关推荐
fensnote9 分钟前
西门子 S7 PLC 内部寄存器读写 Demo(C 语言)
c语言·开发语言
Logic1013 小时前
C语言/数据结构位运算题解:异或XOR找出被挑选一次的果子编号——只出现一次的数字
c语言·数据结构·算法·数组·位运算·时间复杂度·空间复杂度
dear_bi_MyOnly3 小时前
栈和队列:从原理到应用全解析
c语言·开发语言·c++·学习·分类
从小白到软工4 小时前
4-3 项目-学生成绩管理系统(上)
c语言·开发语言·数据结构·经验分享·ai编程
Code_Solitude5 小时前
c语言:指针(3)+冒泡排序
java·c语言·算法
巴巴媛6666 小时前
【Debug1】程序死机,while(1)循环,怎么办?
c语言·笔记·stm32·嵌入式硬件·bug
Lxx_Zw6 小时前
PID 用顺了,然后呢:增强手术与前馈
c语言·stm32·单片机·嵌入式硬件
alphaTao6 小时前
LeetCode 每日一题 2026/10/12-2026/10/18
算法·leetcode
BeiGuTing_code6 小时前
C链表基础(二)有视频模拟!!!
c语言·链表·音视频
Cccp.1237 小时前
【leetcode】(十三)大数据处理
数据结构·算法·leetcode