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;
        }
    }
}
相关推荐
caishenzhibiao1 天前
市场同步系统 同花顺期货通指标
java·c语言·c#
say_fall1 天前
【Linux系统编程】文件操作基础:C标准库、系统调用、fd是什么和fd与FILE*的关系
android·linux·c语言
海绵天哥1 天前
LeetCode Hot 100 | 链表(下)· 分组翻转与设计(C++ 题解)
c++·leetcode·链表
Lee_jerome1 天前
《C/C++编译全家桶:g++四阶段、.a与.so区别、CMake构建、ARM交叉编译,这篇全讲透了》
c语言·开发语言·arm开发·c++·编译·cmake·cmakelists
浩浩kids2 天前
C•exercises
c语言
春生野草2 天前
个人笔记——C语言字符串、树
c语言·开发语言·笔记
ysu_03142 天前
用Vibe-Coding从零实现俄罗斯方块
c语言·游戏程序
tkevinjd2 天前
力扣131-分割回文串
算法·leetcode·深度优先
冻柠檬飞冰走茶2 天前
PTA基础编程题目集 7-24 约分最简分式(C语言实现)
c语言·开发语言·数据结构·算法
zander2582 天前
LeetCode 78. 子集
算法·leetcode·深度优先