C语言 | Leetcode C语言题解之第331题验证二叉树的前序序列化

题目:

题解:

cpp 复制代码
bool isValidSerialization(char* preorder) {
    int n = strlen(preorder);
    int i = 0;
    int slots = 1;
    while (i < n) {
        if (!slots) {
            return false;
        }
        if (preorder[i] == ',') {
            i++;
        } else if (preorder[i] == '#') {
            slots--;
            i++;
        } else {
            // 读一个数字
            while (i < n && preorder[i] != ',') {
                i++;
            }
            slots++;  // slots = slots - 1 + 2
        }
    }
    return !slots;
}
相关推荐
EXtreme35几秒前
链表进化论:C语言实现带哨兵位的双向循环链表,解锁O(1)删除的奥秘
c语言·数据结构·性能优化·双向链表·编程进阶·链表教程
量子炒饭大师10 分钟前
David自习刷题室——【蓝桥杯刷题备战】乘法表
c语言·c++·git·职场和发展·蓝桥杯·github·visual studio
2301_7890156218 分钟前
C++:list(带头双向链表)增删查改模拟实现
c语言·开发语言·c++·list
学习路上_write24 分钟前
FREERTOS_定时器——创建和基本使用
c语言·开发语言·c++·stm32·嵌入式硬件
秋深枫叶红24 分钟前
嵌入式第二十六篇——数据结构双向链表
c语言·数据结构·学习·链表
liu****29 分钟前
10.指针详解(六)
c语言·开发语言·数据结构·c++·算法
资深web全栈开发2 小时前
LeetCode 3623. 统计梯形的数目 I
算法·leetcode·职场和发展·组合数学
松涛和鸣3 小时前
22、双向链表作业实现与GDB调试实战
c语言·开发语言·网络·数据结构·链表·排序算法
666HZ6669 小时前
C语言——高精度加法
c语言·开发语言·算法
666HZ66610 小时前
C语言——黑店
c语言·开发语言