要實現TreeNode的遞歸遍歷,你可以使用深度優先搜索(DFS)或廣度優先搜索(BFS)算法。這里我將分別介紹這兩種方法的實現。
首先,我們需要定義一個TreeNode類:
class TreeNode:
def __init__(self, value):
self.value = value
self.children = []
使用遞歸實現深度優先搜索:
def dfs_recursive(node):
if node is None:
return
print(node.value) # 處理當前節點
for child in node.children:
dfs_recursive(child) # 遞歸遍歷子節點
使用隊列實現廣度優先搜索:
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的遞歸遍歷。你可以根據需要選擇使用深度優先搜索或廣度優先搜索。