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;
        }
    }
}
相关推荐
社交怪人7 分钟前
【最大数】信息学奥赛一本通C语言解法(题号2056)
c语言
社交怪人10 分钟前
【判断正负】信息学奥赛一本通C语言解法(题号1039)
c语言
龙腾AI白云1 小时前
数字孪生:虚拟调试,真实交付
c语言·virtualenv·知识图谱
我不是懒洋洋1 小时前
手写一个异步日志库:从printf到高性能无锁日志
java·c语言·开发语言·c++·visual studio
学会去珍惜3 小时前
c语言编程 C语言入门 c语言(C语言程序设计教程 c语言视频教程 c语言零基础
c语言·开发语言
zlinear数据采集卡3 小时前
单点接地设计电路深度解析:从理论原理到ZLinear采集卡的低噪声实战
c语言·单片机·嵌入式硬件·fpga开发
z200509303 小时前
今日算法(回溯全排列)
c++·算法·leetcode
Sunny Boy 0013 小时前
linux环境编译Pro*C 源文件(.pc文件)
linux·c语言·oracle
dnbug Blog4 小时前
C语言 简介
c语言·开发语言
kkeeper~4 小时前
0基础C语言积跬步之自定义类型联合和枚举
c语言·开发语言·算法