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