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;
        }
    }
}
相关推荐
ziguo11221 天前
深入浅出 C/C++ 数据类型:从入门到踩坑
linux·c语言·c++·windows·visual studio
keep intensify1 天前
最长有效括号
算法·leetcode·动态规划
CoderYanger1 天前
A.每日一题:1979. 找出数组的最大公约数
java·程序人生·算法·leetcode·面试·职场和发展·学习方法
三十岁老牛再出发1 天前
07.26每日总结
linux·c语言·mysql
code_pgf1 天前
C/C++ 常用容器功能汇总
c语言·开发语言·c++
个 人 练 习 生1 天前
strcmp与strstr函数的模拟实现
c语言·开发语言·经验分享·学习·程序人生
小羊先生car1 天前
RTOS-F429-HAL-基础内容认识(2026/7/26)
c语言
Discipline~Hai1 天前
ARM03-蜂鸣器和中断
c语言·arm开发·单片机·嵌入式硬件·嵌入式
冻柠檬飞冰走茶2 天前
PTA基础编程题目集 7-7 12-24小时制(C语言实现)
c语言·开发语言·数据结构·算法
INGNIGHT2 天前
528.按权重随机选择(前缀和&二分法)加权负载均衡
算法·leetcode