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

Posted yuhong1103

tags:

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

 1 //空节点的个数 = 非空节点个数 + 1
 2 class Solution 
 3 {
 4     vector<string> res; 
 5     void spilt(string s,char c)
 6     {
 7         istringstream iss(s);
 8         string temp;
 9         while(getline(iss,temp,c))
10         {
11             //如果temp不为空,才可以添加进去
12             if(!temp.empty()) res.push_back(temp);
13         }
14     }
15 public:
16     bool isValidSerialization(string preorder) 
17     {
18         spilt(preorder,,);
19         int a = 0;//空节点的个数
20         int b = 0;//非空节点的个数
21         for(auto r : res)
22         {
23             if(a > b) return false;//1、当前的空节点数不能大于非空节点数
24             if(r == "#") a ++;
25             else b ++;
26         }
27         return a == b + 1;//2、空节点的个数 = 非空节点个数 + 1
28     }
29 };

 

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

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

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

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

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

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

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