331. 验证二叉树的前序序列化

Posted Debroon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了331. 验证二叉树的前序序列化相关的知识,希望对你有一定的参考价值。

331. 验证二叉树的前序序列化

 


题目

传送门:https://leetcode.cn/problems/verify-preorder-serialization-of-a-binary-tree/

 


算法设计:度数

二叉树本来就是图,看成有向图。

二叉树的总入度等于总出度,也等于边数。

class Solution 
public:
    bool isValidSerialization(string preorder) 
        stringstream ss(preorder);
        string curr;
        int nodes = 1;                     // 默认存在根节点
        while (getline(ss, curr, ','))    // getline(字符数组,读取字符的个数,终止符),读取一个二叉树节点
            nodes--;                       // 非叶子节点入度为 1
            if (nodes < 0) return false;
            if (curr != "#") nodes += 2;   // 非叶子节点出度为 2
        
        return nodes == 0;
    
;

以上是关于331. 验证二叉树的前序序列化的主要内容,如果未能解决你的问题,请参考以下文章

331. 验证二叉树的前序序列化

331. 验证二叉树的前序序列化

力扣331-验证二叉树的前序序列化

331. 验证二叉树的前序序列化

知道一棵二叉树的前序和中序序列求二叉树的后续序列

已知二叉树的中序序列和后序序列,怎么求前序序列