# class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None # # # @param root TreeNode类 # @param sum int整型 # @return int整型二维数组 # import copy class Solution: total = 0 li = [] tmpLi = [] def pathSum(self , root , sum ): # write code here if root: self.preOrders(root, sum) return self.li def preOrders(self, root, sum): sum -= root.val self.tmpLi.append(root.val) ret = False if root.left is None and root.right is None: ret = sum == 0 else: if root.left: self.preOrders(root.left, sum) if root.right: self.preOrders(root.right, sum) if ret: self.li.append(copy.copy(self.tmpLi)) self.tmpLi.pop() return ret