LeetCode算法笔记-Day53
105. Construct Binary Tree from Preorder and Inorder Traversal
Given preorder and inorder traversal of a tree, construct the binary tree.
Note:You may assume that duplicates do not exist in the tree.
example:
1 | preorder = [3,9,20,15,7] |
Analyse:
- 变量 pre 保存当前要构造的树的 root
- 变量 in 保存 inorder 数组中可以成为 root 的数字们的开头那个
- 对于当前要构造的树,有一个停止点 stop ,inorder 数组中第 in 项到第 stop 项是要构造的树的节点值们
- 每次递归调用,都会确定出一个停止点,它告诉了子调用在哪里停止,把自己的根节点值作为左子树调用的停止点,自己的(父调用给下来的)停止点作为右子树的停止点
Answer:
1 | /** |