按扩展二叉树的先序遍历结果构造二叉树的算法
时间: 2023-11-14 13:18:38 浏览: 110
二叉树先序遍历的非递归算法具体实现
构造二叉树的算法如下:
1. 创建一个栈stack,用于存储节点。
2. 从先序遍历的第一个元素开始,创建一个根节点root,并将其入栈。
3. 从先序遍历的第二个元素开始,遍历先序遍历中的所有元素:
- 如果当前元素是数字,创建一个新节点node,并将其作为根节点root的左子节点,将新节点node入栈。
- 如果当前元素是'#',则表示该节点为null,将栈顶节点出栈,并将根节点root指向栈顶节点的右子节点。
4. 遍历完先序遍历中的所有元素后,返回根节点root。
例如,对于先序遍历序列"1 2 # # 3 # #",构造的二叉树如下:
```
1
/ \
2 3
```
阅读全文