返回列表的二叉搜索树的有序遍历

时间:2020-03-19 22:26:32

标签: python list recursion binary-search-tree

在遍历BST之后,我需要返回一个有序的引用列表,并且它们之间有一个空白,但是我无法锻炼该怎么做。

def inorder(self, Node):

    res = ""
    if Node != None:

        self.inorder(Node.LeftChild())
        res = res +(Node.key + " " + Node.payload + "\n")
        self.inorder(Node.RightChild())

    return res

这是我的代码,到目前为止,我只能得到一个参考,任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您几乎是对的,只需要在res变量中使用左右子树的返回值

def inorder(self, Node):

    res = ""
    if Node != None:

        lres = self.inorder(Node.LeftChild())
        rres = self.inorder(Node.RightChild())
        res = lres + (Node.key + " " + Node.payload + "\n") + rres

    return res

注意:res在您的情况下始终为空字符串,因此您无需执行res = res+,也有一种简写的表示法res+=,但您没有这样做仍然需要它。

相关问题