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;
        }
    }
}
相关推荐
LuminousCPP24 分钟前
数据结构 - 线性表第四篇:C 语言通讯录优化升级全记录(踩坑 + 思考)
c语言·开发语言·数据结构·经验分享·笔记·学习
m0_629494733 小时前
LeetCode 热题 100-----26.环形链表 II
数据结构·算法·leetcode·链表
浩浩测试一下3 小时前
汇编 标志位寄存器 (逆向分析 )
c语言·汇编·逆向·windows编程·标志寄存器
SuperByteMaster4 小时前
uart中断发送和接收处理
c语言
社交怪人6 小时前
【浮点数相除的余】信息学奥赛一本通C语言解法(题号1029)
c语言·开发语言
辣椒思密达6 小时前
Python爬虫中如何正确配置住宅IP代理?新手避坑指南
c语言·python
番茄灭世神7 小时前
PN学堂GD32教程第21篇——WiFiIOT
c语言·stm32·单片机·嵌入式·gd32
小羊在睡觉8 小时前
力扣239. 滑动窗口最大值
数据结构·后端·算法·leetcode·go
我还记得那天8 小时前
C语言递归实现汉诺塔问题
c语言·开发语言
大大杰哥8 小时前
leetcode hot100(4)矩阵
算法·leetcode·矩阵