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;
        }
    }
}
相关推荐
三品吉他手会点灯5 小时前
C语言学习笔记 - 50.流程控制4 - 流程控制为什么非常非常重要
c语言·开发语言·笔记·学习
开源Z8 小时前
LeetCode 42 · 接雨水:从暴力到双指针的三步优化
算法·leetcode
十月的皮皮9 小时前
C语言学习笔记20260615-有序升序序列合并
c语言·笔记·学习
玖玥拾11 小时前
C/C++ 数据结构(六)链表迭代器与底层
c语言·数据结构·c++·链表·stl库
Seraphina_Lily12 小时前
深入C语言底层:隐式类型转换、整数提升与截断的“致命”陷阱
c语言·开发语言·算法
C++ 老炮儿的技术栈12 小时前
Ubuntu root账号自动登陆
linux·运维·服务器·c语言·c++·ubuntu·visual studio
圣保罗的大教堂13 小时前
leetcode 2130. 链表最大孪生和 中等
leetcode
blxr_13 小时前
力扣hot100路径总和Ⅲhttps://leetcode.cn/problems/path-sum-iii/
算法·leetcode·职场和发展
noipp14 小时前
【无标题】
c语言·数据结构·c++·算法
超皮小龙猫14 小时前
c语言-1
c语言·开发语言