按先序次序建立一个二叉树代码实现
时间: 2023-06-25 07:04:39 浏览: 127
以下是按先序次序建立二叉树的 Python 代码实现:
```python
class TreeNode:
def __init__(self, value=0, left=None, right=None):
self.value = value
self.left = left
self.right = right
def buildTree(preorder):
if not preorder:
return None
# 获取当前节点的值
val = preorder.pop(0)
# 如果节点值为 None,表示该节点为空
if val is None:
return None
# 创建当前节点
node = TreeNode(val)
# 递归创建左右子树
node.left = buildTree(preorder)
node.right = buildTree(preorder)
return node
```
其中,`buildTree` 函数的参数 `preorder` 是一个 List,表示先序遍历的结果。例如,对于以下二叉树:
```
1
/ \
2 3
/ \
4 5
```
它的先序遍历结果为 `[1, 2, None, None, 3, 4, None, None, 5, None, None]`。其中,None 表示该节点为空。执行 `buildTree([1, 2, None, None, 3, 4, None, None, 5, None, None])`,就可以得到该二叉树的根节点。
阅读全文