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;
}
相关推荐
轩情吖22 分钟前
二叉树-堆(补充)
c语言·数据结构·c++·后端·二叉树··排序
sjsjs112 小时前
【数据结构-字典树】力扣14. 最长公共前缀
数据结构·leetcode
摘星崖3 小时前
1.3编译流程与调试基础
c语言
南玖yy3 小时前
C语言:结构体
c语言·开发语言
代码对我眨眼睛3 小时前
重回C语言之老兵重装上阵(十三)C 预处理器
linux·c语言
JNU freshman3 小时前
力扣第435场周赛讲解
算法·leetcode·蓝桥杯
南玖yy5 小时前
C语言:整型提升
c语言·开发语言
iqay5 小时前
【C语言】填空题/程序填空题1
c语言·开发语言·数据结构·c++·算法·c#
程序猿编码5 小时前
自定义命令执行器:C++中命令封装的深度探索(C/C++实现)
linux·c语言·c++·网络安全·shell·命令行
锐策5 小时前
『 C 』 `##` 在 C 语言宏定义中的作用解析
c语言