在学二叉树递归遍历的时候 return left_item + result + right_item 这行有点不明白 这玩意的运行原理是啥?为啥改变三个变量的顺序 最后得到的列表的结果顺序也会改变
这一段是节点类
class Node(object):
def __init__(self, item):
self.item = item # 表示对应的元素
self.left = None # 表示左子节点
self.right = None # 表示右子节点
这一段是遍历二叉树的函数
def inorder(self,node): # 中序遍历
if node is None:
return []
result = [node.item]
left_item = self.inorder(node.left)
right_item = self.inorder(node.right)
return left_item + result + right_item