二叉树的遍历代码
时间: 2023-07-02 18:15:02 浏览: 40
以下是三种二叉树遍历的递归实现代码,假设二叉树的节点类型为TreeNode,包含值val、左子节点left和右子节点right:
前序遍历:
```python
def preorderTraversal(root: TreeNode) -> List[int]:
if not root:
return []
res = []
res.append(root.val)
res += preorderTraversal(root.left)
res += preorderTraversal(root.right)
return res
```
中序遍历:
```python
def inorderTraversal(root: TreeNode) -> List[int]:
if not root:
return []
res = []
res += inorderTraversal(root.left)
res.append(root.val)
res += inorderTraversal(root.right)
return res
```
后序遍历:
```python
def postorderTraversal(root: TreeNode) -> List[int]:
if not root:
return []
res = []
res += postorderTraversal(root.left)
res += postorderTraversal(root.right)
res.append(root.val)
return res
```
以上代码中,List[int]表示返回一个整数列表,res用于保存遍历结果,递归函数遍历子树并将结果添加到res中。