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;
        }
    }
}
相关推荐
水木流年追梦几秒前
CodeTop 热门题目汇总hot300题
算法·leetcode·职场和发展
努力努力再努力wz12 分钟前
【Linux网络系列】深入理解 I/O 多路复用:从 select 痛点到 poll 高并发服务器落地,基于 Poll、智能指针与非阻塞 I/O与线程池手写一个高性能 HTTP 服务器!(附源码)
java·linux·运维·服务器·c语言·c++·python
minji...27 分钟前
Linux 线程同步与互斥(四) POSIX信号量,基于环形队列的生产者消费者模型
linux·运维·服务器·c语言·开发语言·c++
uElY ITER35 分钟前
VS与SQL Sever(C语言操作数据库)
c语言·数据库·sql
f3iiish37 分钟前
2078. 两栋颜色不同且距离最远的房子 力扣
算法·leetcode
程序猿编码1 小时前
给Linux程序穿“隐身衣”——ELF运行时加密器全解析(C/C++代码实现)
linux·c语言·c++·网络安全·elf·内存安全
Goway_Hui1 小时前
【ReactNative鸿蒙化-三方库使用与C-API集成】
c语言·react native·harmonyos
sheeta19982 小时前
LeetCode 每日一题笔记 日期:2026.04.21 题目:1722. 执行交换操作后的最小汉明距离
笔记·算法·leetcode
♛识尔如昼♛2 小时前
C 基础(14) - 结构和其他数据形式
c语言·结构体
玛丽莲茼蒿3 小时前
Leetcode hot100 买卖股票的最佳时机【简单】
算法·leetcode·职场和发展