在遍历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+=
,但你无论如何都不需要它。