码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-04-21 22:26:34      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:ali   序列化   als   不为   str   public   ack   oid   for   

 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. 验证二叉树的前序序列化

标签:ali   序列化   als   不为   str   public   ack   oid   for   

原文地址:https://www.cnblogs.com/yuhong1103/p/12748394.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!