У меня есть код в Python, который должен возвращать все корни в пути листа в двоичном дереве в виде списка (пример ["1- > 2-> 5 "," 1-> 3 "]). Исходный вопрос - из leetcode.Найти все корень в путях листьев в двоичном дереве (в Python)
Мне нужна помощь в выяснении того, что не так с моим кодом и/или альтернативными решениями (желательно в Python). В приведенном выше примере мой код возвращает null, пока он должен фактически распечатать список, который я дал. Я также хотел бы получить представление о том, как вы подходите к этой проблеме, когда впервые видите этот вопрос.
Вот мой код:
def binaryTreePaths(self, root):
list1 = []
if (root == None):
return []
if (root.left == None and root.right == None):
return list1.append(str(root.val) + "->")
if (root.left != None):
list1.append(self.binaryTreePaths(root.left))
if (root.right != None):
list1.append(self.binaryTreePaths(root.right))
Возможный дубликат (http://stackoverflow.com/questions/16641119/why-does-append-return-none-in -это-код) –
Возможный дубликат [Почему список Python list.append оценивается как false?] (http://stackoverflow.com/questions/1682567/why-does-pythons-list-append-evaluate-to-false) – Prune