【C++二叉树】105.从前序与中序遍历序列构造二叉树
105. 从前序与中序遍历序列构造二叉树 - 力扣(LeetCode)
根据前序遍历和中序遍历构建二叉树
前序遍历访问方式:根-左子树-右子树
中序遍历访问方式:左子树-根-右子树
思路分析:
前序+中序可以构建一颗二叉树:
- 前序遍历可以确定根,中序遍历可以确定左子树的中序区间和右子树的中序区间。
- 使用左子树的前序+左子树的中序区间递归构建左子树。
- 使用右子树的前序+右子树的中序区间递归构建右子树。
代码实现:
注意:
prei要传引用,因为递归过程中要使用上一次递归的prei,如果传值,递归就找不到上一次的prei。