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;
        }
    }
}
相关推荐
阿豪学编程6 小时前
LeetCode724.:寻找数组的中心下标
算法·leetcode
禹中一只鱼7 小时前
【力扣热题100学习笔记】 - 哈希
java·学习·leetcode·哈希算法
凌波粒7 小时前
LeetCode--349.两个数组的交集(哈希表)
java·算法·leetcode·散列表
我叫洋洋7 小时前
[Proteus 和 stm32f103c8t6]的使用控制OLED篇]
c语言·stm32·单片机·嵌入式硬件·蓝桥杯·proteus
Book思议-8 小时前
【数据结构】栈与队列全方位对比 + C 语言完整实现
c语言·数据结构·算法··队列
IT方大同11 小时前
(实时操作系统)线程管理
c语言·开发语言·嵌入式硬件
_日拱一卒12 小时前
LeetCode:滑动窗口的最大值
数据结构·算法·leetcode
老约家的可汗12 小时前
list 容器详解:基本介绍与常见使用
c语言·数据结构·c++·list
圣保罗的大教堂13 小时前
leetcode 3548. 等和矩阵分割 II 困难
leetcode
mifengxing13 小时前
力扣HOT100——(1)两数之和
java·数据结构·算法·leetcode·hot100