【Python练习】042. 编写一个函数,实现二叉树的前序、中序、后序遍历
042. 编写一个函数,实现二叉树的前序、中序、后序遍历
- 042. 编写一个函数,实现二叉树的前序、中序、后序遍历
- 定义二叉树节点类
- 实现遍历函数
- 测试代码
- 代码解释
- 运行结果
- 注意事项
- 实现二叉树遍历的方法
- 递归方法实现
- 迭代方法实现
- 代码实例解析
- 示例测试
- 关键点总结
042. 编写一个函数,实现二叉树的前序、中序、后序遍历
在 Python 中,可以通过递归或迭代的方式实现二叉树的前序、中序和后序遍历。
定义二叉树节点类
class TreeNode:"""定义二叉树的节点类。"""def __init__(self, value=0, left=None, right=None):self.value = valueself.left = leftself.right = right
实现遍历函数
def preorder_traversal(root):"""前序遍历二叉树。参数:root (TreeNode): 二叉树的根节点。返回:list: 前序遍历的结果。"""result = []def dfs(node):if not node:returnresult.append(node.value) # 访问根节点dfs(node.left) # 遍历左子树dfs(node.right) # 遍历右子树dfs(root)return resultdef inorder_traversal(root):"""中序遍历二叉树。参数:root (TreeNode): 二叉树的根节点。返回:list: 中序遍历的结果。"""result = []def dfs(node):if not node:returndfs(node.left) # 遍历左子树result.append(node.value) # 访问根节点dfs(node.right) # 遍历右子树dfs(root)return resultdef postorder_traversal(root