如何将树的所有 dfs 路径存储在列表中?

How to store all the dfs paths of a tree in a list?

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]

但它只是打印这些值,我想将其存储在列表中并希望 return 列表为

[ [ 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

将路径复制到名为 "result" 和 return 的列表中。