📝题目
1 | 序列化二叉树的一种方法是使用前序遍历。当我们遇到一个非空节点时,我们可以记录下这个节点的值。如果它是一个空节点,我们可以使用一个标记值记录,例如 #。 |
📝思路
考虑二叉树的两种节点:
- 空节点:占据一个位置,没有子节点,因此不提供位置;
- 非空节点:占据一个位置,必有两个子节点(包括空节点),因此提供两个位置。
遍历所有节点,根据上述规则计算剩余位置个数,在遍历结束之前,若剩余位置小于0,序列不成立。
有效序列的最终结果即是位置刚刚足够。
📝题解
1 | var isValidSerialization = function(preorder) { |
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.