Construct Binary Tree from Preorder (Postorder) and Inorder Traversal
2014-12-08 20:46
351 查看
Construct Binary Tree from Preorder and Inorder Traversal
通过二叉树的 前序遍历序列 和 中序遍历序列 重构二叉树
步骤:
1、遍历前序遍历序列,每次遍历一个值,创建一个节点,并将节点压入栈,新创建的节点连接为栈顶节点的左孩子节点(如果第2步中的记录pop的节点非空,那么连接为该记录节点的右孩子)
2、每次压入新节点后需要进行一次比较,栈顶节点的值与中序遍历开头比较,如果相等,那么栈pop,中序遍历开头向后移动一位(后面一位作为开头),之后再次比较,直到不相等为止,如果存在一次栈pop,那么用一个变量记录之,直到最后一次pop,这个变量最终为最后一次pop的节点,如果没有pop,那么该节点赋值为空
3、反复进行1,2步,直到遍历完前序遍历序列,那么二叉树创建完毕,返回第一次创建的节点(那个节点为 root 哦,一开始要存储一下,此处为细节处理)
Construct Binary Tree from Postorder and Inorder Traversal
同上,自行修改算法即可
通过二叉树的 前序遍历序列 和 中序遍历序列 重构二叉树
步骤:
1、遍历前序遍历序列,每次遍历一个值,创建一个节点,并将节点压入栈,新创建的节点连接为栈顶节点的左孩子节点(如果第2步中的记录pop的节点非空,那么连接为该记录节点的右孩子)
2、每次压入新节点后需要进行一次比较,栈顶节点的值与中序遍历开头比较,如果相等,那么栈pop,中序遍历开头向后移动一位(后面一位作为开头),之后再次比较,直到不相等为止,如果存在一次栈pop,那么用一个变量记录之,直到最后一次pop,这个变量最终为最后一次pop的节点,如果没有pop,那么该节点赋值为空
3、反复进行1,2步,直到遍历完前序遍历序列,那么二叉树创建完毕,返回第一次创建的节点(那个节点为 root 哦,一开始要存储一下,此处为细节处理)
Construct Binary Tree from Postorder and Inorder Traversal
同上,自行修改算法即可
相关文章推荐
- Construct Binary Tree from Inorder and Postorder Traversal (&&Preorder and Inorder Traversal )——数据结构和算法的基本问题
- 【Leetcode】Construct Binary Tree From Inorder and Preorder/Postorder Traversal
- [Leetcode][python]Construct Binary Tree from Preorder and Inorder Traversal (Inorder and Postorder)
- Construct Binary Tree from Inorder and Postorder Traversal & Preorder and Inorder
- [Leetcode] Construct Binary Tree from Inorder and Postorder/Preorder and Inorder Traversal
- leetcode题解-105 && 106. Construct Binary Tree from Preorder (PostOrder) and Inorder Traversal
- LeetCode 105/106 Construct Binary Tree from Preorder/Postorder and Inorder Traversal
- Construct Binary Tree from Inorder and Preorder(Inorder and Postorder) Traversal
- 【LeetCode】Construct Binary Tree from (Preorder or Postorder) and Inorder Traversal
- 【LeetCode】105 & 106 Construct Binary Tree from (Preorder and Inorder) || (Inorder and Postorder)Traversal
- LeetCode 105, 106. Construct Binary Tree from Preorder and Inorder/Inorder and Postorder Traversal
- LeetCode:Construct Binary Tree from Inorder and Postorder Traversal,Construct Binary Tree from Preorder and Inorder Traversal
- leetCode(18):Construct Binary Tree from Preorder and Inorder (Inorder and Postorder) Traversal
- 105\106. Construct Binary Tree from Inorder and Postorder\Preorder Traversal&重建二叉树
- Construct Binary Tree From Inorder and Preorder/Postorder Traversal
- Leetcode: Construct Binary Tree from Preorder and Inorder Traversal, Construct Binary Tree from Inorder and Postorder Traversal
- leetcode - Construct Binary Tree from Inorder and Postorder Traversal && Construct Binary Tree from Preorder and Inorder Traversal
- leetCode(18):Construct Binary Tree from Preorder and Inorder (Inorder and Postorder) Traversal 分类: leetCode 2015-06-22 08:26 177人阅读 评论(0) 收藏
- [Leetcode] Construct Binary Tree from Preorder and Inorder Traversal
- leetcode - Construct Binary Tree from Inorder and Postorder Traversal