从前序与中序遍历序列构造二叉树。根据一棵树的前序遍历与中序遍历构造二叉树。
注意: 你可以假设树中没有重复的元素。
例如,给出
1 |
|
返回如下的二叉树:
1 |
|
1 |
|
思路一
深度优先遍历,递归解决。首先找到树的根结点在中序遍历序列中的位置,根结点左边即是左子树,右边即是右子树。
1 |
|
思路二
使用堆栈解决,时间复杂度 \(O(n)\)。
1 |
|
从前序与中序遍历序列构造二叉树。根据一棵树的前序遍历与中序遍历构造二叉树。
注意: 你可以假设树中没有重复的元素。
例如,给出
1 |
|
返回如下的二叉树:
1 |
|
1 |
|
深度优先遍历,递归解决。首先找到树的根结点在中序遍历序列中的位置,根结点左边即是左子树,右边即是右子树。
1 |
|
使用堆栈解决,时间复杂度 \(O(n)\)。
1 |
|
微信打赏
支付宝打赏