二叉树
文章平均质量分 65
qq_43416596
这个作者很懒,什么都没留下…
展开
-
二叉树:使用层级遍历算法实现二叉树的序列化和反序列化(Java)
上篇文章:《二叉树:使用后序遍历算法实现二叉树的序列化和反序列化(Java)》看LeetCode的第297道题目,给出一个二叉树的根节点,要求你把它序列化为一个字符串,然后把这个字符串反序列化为原来二叉树。首先我们需要建立一个StringBuilder来构造字符串。假设我们使用层级遍历来解这道题。那么,二叉树的层级遍历的遍历顺序是从上到下,从左到右。层级遍历需要一个一个栈来存储一层的节点,程序的开头我们需要把根节点放进这个栈里面,然后把根节点通过Queue的poll()方法拿出来,把根节点的值拿出来a原创 2021-03-21 21:36:55 · 172 阅读 · 0 评论 -
二叉树:使用后序遍历算法实现二叉树的序列化和反序列化(Java)
看LeetCode的第297道题目,给出一个二叉树的根节点,要求你把它序列化为一个字符串,然后把这个字符串反序列化为原来二叉树。我们拿出一个最简单的二叉树,假设我们使用后序遍历递归,就是左子树-右子树-根节点,那么我们需要遍历根节点的左子树,左子树的节点拿到,读取它的值,将它append到开始建立的一个StringBuilder字符串中。然后我们再遍历右子树,拿到它的值,把它append到StringBuilder字符串中。然后遍历根节点,把它的值append到StringBuilder中。如果在递归的过原创 2021-03-21 16:41:06 · 345 阅读 · 0 评论