# class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param root TreeNode类 # @param sum int整型 # @return int整型二维数组 # '''大家注意! 这个题目的输入可能有负数! 所以不要剪枝了,容易出错! 而且已经等于sum的路径可能可以接着走下去!''' class Solution: def pathSum(self , root: TreeNode, sum: int) -> List[List[int]]: # write code here ans,path = [],[] if not root:return [] def backtrack(root,now_sum): if not root:return path.append(root.val) now_sum+=root.val if not root.left and not root.right: if now_sum==sum:ans.append(list(path)) backtrack(root.left,now_sum) backtrack(root.right,now_sum) path.pop() backtrack(root,0) return ans