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;
}
相关推荐
水水沝淼㵘30 分钟前
嵌入式开发学习日志(数据结构--单链表)Day20
c语言·开发语言·数据结构·学习·算法
2301_807611492 小时前
310. 最小高度树
c++·算法·leetcode·深度优先·回溯
人类恶.3 小时前
C 语言学习笔记(6)
c语言·笔记·学习
SY师弟3 小时前
51单片机——交通指示灯控制器设计
c语言·单片机·嵌入式硬件·51单片机
凤年徐3 小时前
【C/C++】自定义类型:结构体
c语言·开发语言·c++·经验分享·笔记·算法
Inverse1624 小时前
C语言_自定义类型:结构体
c语言·开发语言·算法
Musennn5 小时前
102. 二叉树的层序遍历详解:队列操作与层级分组的核心逻辑
java·数据结构·算法·leetcode
理论最高的吻5 小时前
77. 组合【 力扣(LeetCode) 】
c++·算法·leetcode·深度优先·剪枝·回溯法
czy878747512 小时前
C语言主要标准版本的演进与核心区别的对比分析
c语言
巨龙之路13 小时前
C语言中的assert
c语言·开发语言