我正在尝试从inorder遍历返回列表,下面是我的代码。如果我的输入是[1,2,3]并且输出应该是[3,1,2],但我返回值none。你能告诉我代码中有什么问题吗?谢谢。
def inorderTraversal(currentNode,output=None):
if output==None:
output=[]
if currentNode.left:
return inorderTraversal(currentNode.left,output)
return output.append(currentNode.data)
if currentNode.right:
return inorderTraversal(currentNode.right,output)
答案 0 :(得分:0)
问题在于这一行:
return output.append(currentNode.data)
您将返回append
的值,但这是None
。 append
更改列表但不返回列表的新值。这样做。
output.append(currentNode.data)
return output