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;
}
相关推荐
宋一平工作室2 分钟前
单片机队列功能模块的实战和应用
c语言·开发语言·stm32·单片机·嵌入式硬件
SY师弟8 分钟前
台湾TEMI协会竞赛——2、足球机器人组装教学
c语言·单片机·嵌入式硬件·机器人·嵌入式·台湾temi协会
whoarethenext22 分钟前
使用 C/C++的OpenCV 将多张图片合成为视频
c语言·c++·opencv
梦境虽美,却不长2 小时前
C语言 学习 宏命令(预处理) 2025年6月9日14:41:39
c语言·开发语言·学习
时时三省3 小时前
【时时三省】(C语言基础)将外部变量的作用域扩展到其他文件
c语言
1白天的黑夜14 小时前
二叉树-226.翻转链表-力扣(LeetCode)
数据结构·c++·leetcode
Fighting_19974 小时前
VSCode占C盘内存太大,如何处理
c语言·ide·vscode
编程绿豆侠4 小时前
力扣HOT100之贪心算法:45. 跳跃游戏 II
leetcode·游戏·贪心算法
黑听人5 小时前
【力扣 中等 C++】90. 子集 II
开发语言·数据结构·c++·算法·leetcode
黑听人5 小时前
【力扣 简单 C】21. 合并两个有序链表
c语言·开发语言·数据结构·算法·leetcode