python-3.x - 如何将树的所有dfs路径存储在列表中?
问题描述
def traverse(node, path =[]):
path.append(node.val)
if len(node.children)==0:
print(path)
path.pop()
else:
for child in node.children:
traverse(child)
path.pop()
上面的代码打印了树的深度优先搜索遍历,例如
[3、2、1、4]
[3, 2, 5]
但它只是打印这些值,我想将它存储在一个列表中并希望将列表返回为
[[3,2,1,4],[3,2,5]]。
我应该对代码做哪些修改来实现这一点?
解决方案
只需一个简单的修改就可以帮助您!
def traverse(node, result=[], path =[]):
path.append(node.val)
if len(node.children)==0:
print(path)
result.append(path.copy())
path.pop()
else:
for child in node.children:
traverse(child)
path.pop()
return result
将路径复制到名为“结果”的列表中并返回。
推荐阅读
- apache - 更正重写规则创建内部服务器错误
- arduino - ARDUINO 引脚不断地从 HIGH 变为 LOW?
- javascript - React:当组件停止渲染时函数会发生什么
- javascript - 方括号在构造函数中设置此属性
- c - 未分配重新分配的指针,在 malloc_error_break 中设置断点以进行调试
- java - 使用 Java 连接到 mysql 数据库
- hibernate - Spring Data JPA @Query 注解和 Hibernate @Where 注解的互通
- javascript - Kendo ListBox:按顺序返回丢弃的项目
- c++ - 如何正确导出 DLL 中的矢量
- r - 在R中一次从数据框中的多个变量中删除Na