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;
        }
    }
}
相关推荐
Je1lyfish4 小时前
CMU15-445 (2025 Fall/2026 Spring) Project#3 - QueryExecution
linux·c语言·开发语言·数据结构·数据库·c++·算法
墨染千千秋6 小时前
C/C++ Keywords
c语言·c++
爱编码的小八嘎10 小时前
C语言完美演绎9-23
c语言
happymaker062610 小时前
简单LRU的实现(基于LinkedHashMap)
算法·leetcode·lru
普通网友10 小时前
《算法面试必刷:15 个高频 LeetCode 题(附代码)》
算法·leetcode·面试
_深海凉_10 小时前
LeetCode热题100-搜索二维矩阵
算法·leetcode·矩阵
我不是懒洋洋10 小时前
手写一个KMP算法:从原理到工程级实现
c语言
代码中介商11 小时前
C语言链表完全指南:从单节点到链表管理
c语言·算法·链表
『昊纸』℃11 小时前
C语言程序设计从入门到进阶【比特鹏哥c语言2023完整版视频教程】(c语言基础入
c语言·函数·常量·编程教程·变量作用域
凉、介12 小时前
Armv8-A virtualization 笔记 (一)
c语言·笔记·学习·嵌入式·虚拟化·hypervisor