В настоящее время я решаю эту проблему: Распечатайте все пути k-суммы в двоичном дереве. Я пытаюсь вернуть значения из рекурсивной функции, но как мне сохранить их в массиве после завершения каждой рекурсивной функции без потери значений в массив. Помогите пожалуйста!
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
class Solution:
def pathSum(self, root: TreeNode, sum: int):
total = 0
array = []
finalarray = []
def inorder(root, sum, total):
if root is None:
return
total += root.val
array.append(root.val)
if total == sum:
return finalarray.append(array)
inorder(root.left, sum, total)
inorder(root.right, sum, total)
sum -= root.val
array.pop()
inorder(root, sum, total)
root = TreeNode(5)
root.left = TreeNode(4)
root.left.left = TreeNode(11)
root.left.left.left = TreeNode(7)
root.left.left.right = TreeNode(2)
root.right = TreeNode(8)
root.right.right = TreeNode(4)
root.right.left = TreeNode(13)
root.right.right.left = TreeNode(5)
root.right.right.right = TreeNode(1)
solution = Solution()
print(solution.pathSum(root, 22))