按顺序遍历返回列表的二进制搜索树



在遍历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

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

您几乎做对了,只需要在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+=,但你无论如何都不需要它。

最新更新