python先序遍历二叉树
时间: 2023-12-12 14:34:45 浏览: 96
先序遍历二叉树的算法
以下是Python实现二叉树先序遍历的代码示例:
```python
# 定义二叉树节点类
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
# 先序遍历二叉树
def preorderTraversal(root: TreeNode) -> List[int]:
res = []
def preorder(root):
if not root:
return
res.append(root.val)
preorder(root.left)
preorder(root.right)
preorder(root)
return res
```
以上代码中,我们首先定义了一个二叉树节点类`TreeNode`,包含节点值`val`、左子节点`left`和右子节点`right`。然后定义了一个`preorderTraversal`函数,用于实现先序遍历二叉树。在函数中,我们定义了一个辅助函数`preorder`,用于递归遍历二叉树。具体实现中,我们先将当前节点的值加入结果列表`res`中,然后递归遍历左子树和右子树。
阅读全文