Verify Preorder Serialization of a Binary Tree 问题及解法
来源:互联网 发布:ubuntu 修改启动界面 编辑:程序博客网 时间:2024/06/06 19:03
问题描述:
One way to serialize a binary tree is to use pre-order traversal. When we encounter a non-null node, we record the node's value. If it is a null node, we record using a sentinel value such as #
.
_9_ / \ 3 2 / \ / \ 4 1 # 6/ \ / \ / \# # # # # #
For example, the above binary tree can be serialized to the string "9,3,4,#,#,1,#,#,2,#,6,#,#"
, where #
represents a null node.
Given a string of comma separated values, verify whether it is a correct preorder traversal serialization of a binary tree. Find an algorithm without reconstructing the tree.
Each comma separated value in the string must be either an integer or a character '#'
representing null
pointer.
You may assume that the input format is always valid, for example it could never contain two consecutive commas such as "1,,3"
.
示例:"9,3,4,#,#,1,#,#,2,#,6,#,#"
Return true
"1,#"
Return false
"9,#,#,1"
Return false
问题分析:
本题给的树所有节点都有子节点,除了空节点外。那么我们就可以利用树的出度和入度的性质来求解该问题。
过程详见代码:
class Solution {public: bool isValidSerialization(string preorder) {stringstream ss(preorder);vector<string> vs;while (!ss.eof()){string str;getline(ss, str, ',');vs.emplace_back(str);}int count = 1;for (auto node : vs){if (--count < 0)return false;if (node != "#") count += 2;}return count == 0;}};
- Verify Preorder Serialization of a Binary Tree 问题及解法
- Verify Preorder Serialization of a Binary Tree
- Verify Preorder Serialization of a Binary Tree
- Verify Preorder Serialization of a Binary Tree
- Verify Preorder Serialization of a Binary Tree
- Verify Preorder Serialization of a Binary Tree
- Verify Preorder Serialization of a Binary Tree
- Verify Preorder Serialization of a Binary Tree
- Verify Preorder Serialization of a Binary Tree
- Verify Preorder Serialization of a Binary Tree
- Verify Preorder Serialization of a Binary Tree
- leetcode Verify Preorder Serialization of a Binary Tree
- 331. Verify Preorder Serialization of a Binary Tree
- Leetcode: Verify Preorder Serialization of a Binary Tree
- LeetCode Verify Preorder Serialization of a Binary Tree
- leetcode 331. Verify Preorder Serialization of a Binary Tree
- [LeetCode]331. Verify Preorder Serialization of a Binary Tree
- 331. Verify Preorder Serialization of a Binary Tree
- word转HTML 最终版
- Android studio 的快捷键转换为eclipse的快捷键
- iOS经典面试题
- Java中各种集合的线程安全性!!!
- JavaScript 学习笔记 (1)
- Verify Preorder Serialization of a Binary Tree 问题及解法
- 多个表进行内连接,原理是什么?
- 欢迎使用CSDN-markdown编辑器
- 怎样选择一款性价比高的数据恢复软件
- eclipse下python调试if __name__ == '__main__':不执行的问题
- Spring boot Admin 使用eureka监控服务
- 随机算法之最小割问题
- Hibernate报错 Cannot add foreign key constraint
- CRM框架