递归地遍历二叉树,输出遍历各个节点的路径。python
时间: 2024-10-19 10:15:42 浏览: 18
python 遍历二叉树的方法代码示例
在Python中,递归遍历二叉树并输出节点路径可以使用深度优先搜索(Depth First Search, DFS),特别是前序遍历、中序遍历或后序遍历。这里给出一种简单的前序遍历的例子,假设我们有一个Node类表示二叉树的节点:
```python
class Node:
def __init__(self, val=None, left=None, right=None):
self.val = val
self.left = left
self.right = right
def print_preorder_path(root):
if root is None:
return []
# 前序遍历(根 -> 左 -> 右)
path = [str(root.val)] + print_preorder_path(root.left) + print_preorder_path(root.right)
return path
# 使用示例
root = Node(1, Node(2, Node(4), Node(5)), Node(3, Node(6)))
print(print_preorder_path(root)) # 输出:['1', '2', '4', '5', '3', '6']
```
在这个例子中,`print_preorder_path`函数接收二叉树的根节点,并通过递归的方式记录从当前节点到叶节点的路径。当遇到空节点时,返回空列表作为递归结束的标志。
阅读全文