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;
}
相关推荐
胖咕噜的稞达鸭15 分钟前
C++中的父继子承:继承方式实现栈及同名隐藏和函数重载的本质区别, 派生类的4个默认成员函数
java·c语言·开发语言·数据结构·c++·redis·算法
一碗绿豆汤39 分钟前
c语言-运算符
c语言
一碗绿豆汤2 小时前
C语言--核心语法
c语言
七饭2 小时前
C语言数据结构-排序
c语言·数据结构·排序算法
_dindong5 小时前
基础算法:滑动窗口
数据结构·学习·算法·leetcode·力扣
老侯(Old monkey)6 小时前
C语言:冒泡法排序
c语言·函数调用·指针·冒泡法排序
nju_spy9 小时前
力扣每日一题(二)任务安排问题 + 区间变换问题 + 排列组合数学推式子
算法·leetcode·二分查找·贪心·排列组合·容斥原理·最大堆
代码对我眨眼睛9 小时前
226. 翻转二叉树 LeetCode 热题 HOT 100
算法·leetcode·职场和发展
迎風吹頭髮10 小时前
UNIX下C语言编程与实践58-UNIX TCP 连接处理:accept 函数与新套接字创建
c语言·网络·unix
黑色的山岗在沉睡10 小时前
LeetCode 494. 目标和
算法·leetcode·职场和发展