Итак, я написал этот фрагмент кода для печати всех корневых путей листьев двоичного дерева, и когда он попадает в базовый регистр, он печатает каждый путь, вместо этого я хотел бы сохранить его в чтобы в итоге у меня был список списков, содержащих каждый путь. Я пробовал несколько вещей, таких как использование рекурсии хвоста или использование другого глобального списка, но я не могу его правильно реализовать.Строка значений вместо их печати во время рекурсии
def rootleafPath(self, root):
global arr
if root is None:
return
arr.append(root.rootid)
if self.isLeaf(root):
print arr
self.rootleafPath(root.left)
self.rootleafPath(root.right)
arr.pop()
Это возвращает
[1, 2, 4]
[1, 2, 5]
[1, 3]
в то время как я хочу, чтобы моя функция возвращает список, как [[1, 2, 4], [1, 2, 5], [1, 3]]
У меня возникла эта проблема в большинстве моих рекурсивных решений, где мне нужно сохранить результат, когда он попадает в базовый регистр вместо его печати.
Спасибо :) Это решает мою проблему. – Angersmash