# 深度优先遍历(前序遍历) result = [] defdfs(root): if root==None: return result.append(root.v) dfs(root.l) dfs(root.r) # 广度优先遍历(层次遍历) defbfs(root): if root==None: return queue = [root] result = [] while queue: node = queue.pop(0) result.append(node.v) if node.l: queue.append(node.l) if node.r: queue.append(node.r) return result