我学会了实现二叉搜索树的中序遍历:
def inorder(root): # root has val, left and right fields
if root==None:
return
inorder(root.left)
print(root.val)
inorder(root.right)
现在,问题是我不想要控制台输出。我想获取列表中的值。我找不到让函数返回列表的方法。
我试过
s = [inorder(root)]
但它不起作用。所以,我的问题是:
最佳答案
您可以递归地构建列表。只需将左右树返回的列表与当前节点中的值相加即可。
def inorder(root):
if root==None:
return []
left_list = inorder(root.left)
right_list = inorder(root.right)
return left_list + [val] + right_list
关于python - Python中树的中序遍历返回一个列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49063499/