在遍历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
这是我的代码,到目前为止,我只能得到一个参考,任何帮助将不胜感激。
答案 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+=
,但您没有这样做仍然需要它。