Я создал метод класса TreeNode, который я хочу вернуть плоский список обхода дерева в порядке
Мое примерное дерево:
Выходные данные обхода в порядке должны быть : [1, 1, 0, 2, 1, 3, 1, 1, 0]
но я получаю: [2, 1, 1, 0, 1, 3, 1, 1, 0]
Вот мой код:
def in_order_list(self, r = []):
hasLeft = self.left is not None
hasRight = self.right is not None
if self is None:
return
else:
if hasLeft:
self.left.in_order_list(r)
r.append(self.value)
if hasRight:
self.right.in_order_list(r)
return r
Сможет ли кто-нибудь объяснить мне, почему это происходит?
Спасибо Alex