创建二叉树 按先序次序输入二叉树中结点的值,返回指向根结点的指针
时间: 2024-11-27 12:18:32 浏览: 0
创建二叉树并按照先序遍历的顺序输入节点值,通常涉及到递归的过程。首先,你需要定义一个二叉树节点的结构,它包含一个值和两个指向左右子节点的指针。以下是步骤:
1. **定义节点类**:
```python
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
```
2. **先序遍历函数**:
- 先访问当前节点(根),然后遍历左子树,最后遍历右子树。这是递归的基础。
```python
def buildTree(preorder):
if not preorder:
return None
root_val = preorder.pop(0) # 获取根节点值
root = TreeNode(root_val)
# 递归构建左右子树
if len(preorder) > 0:
root.left = buildTree(preorder) # 左孩子
root.right = buildTree(preorder) # 右孩子
return root
```
3. **调用函数**:
假设你有一个存储了先序遍历序列的列表`preorder`,你可以这样创建树:
```python
inorder = [4, 2, 5, 1, 6, 3] # 示例先序遍历
root = buildTree(inorder) # 先序遍历生成的树的根节点
```
阅读全文