如何实现TreeNode的递归遍历

avatar
作者
猴君
阅读量:0

要实现TreeNode的递归遍历,你可以使用深度优先搜索(DFS)或广度优先搜索(BFS)算法。这里我将分别介绍这两种方法的实现。

首先,我们需要定义一个TreeNode类:

class TreeNode:     def __init__(self, value):         self.value = value         self.children = [] 
  1. 深度优先搜索(DFS)

使用递归实现深度优先搜索:

def dfs_recursive(node):     if node is None:         return      print(node.value)  # 处理当前节点     for child in node.children:         dfs_recursive(child)  # 递归遍历子节点 
  1. 广度优先搜索(BFS)

使用队列实现广度优先搜索:

from collections import deque  def bfs(root):     if root is None:         return      queue = deque([root])     while queue:         node = queue.popleft()         print(node.value)  # 处理当前节点         for child in node.children:             queue.append(child)  # 将子节点加入队列 

以上代码展示了如何实现TreeNode的递归遍历。你可以根据需要选择使用深度优先搜索或广度优先搜索。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!