遍历二叉树python
时间: 2023-03-29 12:01:32 浏览: 74
很高兴回答你的问题。遍历二叉树可以使用递归或者栈来实现。具体来说,有三种遍历方式:前序遍历、中序遍历和后序遍历。下面是使用递归实现的代码示例:
```python
# 定义二叉树节点类
class TreeNode:
def __init__(self, val=, left=None, right=None):
self.val = val
self.left = left
self.right = right
# 前序遍历
def preorderTraversal(root: TreeNode) -> List[int]:
res = []
def dfs(node):
if not node:
return
res.append(node.val)
dfs(node.left)
dfs(node.right)
dfs(root)
return res
# 中序遍历
def inorderTraversal(root: TreeNode) -> List[int]:
res = []
def dfs(node):
if not node:
return
dfs(node.left)
res.append(node.val)
dfs(node.right)
dfs(root)
return res
# 后序遍历
def postorderTraversal(root: TreeNode) -> List[int]:
res = []
def dfs(node):
if not node:
return
dfs(node.left)
dfs(node.right)
res.append(node.val)
dfs(root)
return res
```
希望能够帮助到你。