二叉树的路径和

LintCode题目地址
给定一个二叉树,找出所有路径中各节点相加总和等于给定 目标值 的路径。

一个有效的路径,指的是从根节点到叶节点的路径。
注意点:self.result要深copy

def binaryTreePathSumHelper(self, root, target):
        if root == None:
            return
        self.result.append(root.val)
        target -= root.val
        if target == 0 and root.left == None and root.right == None:
            self.resultAll.append(list(self.result))
        self.binaryTreePathSumHelper(root.left,target)
        self.binaryTreePathSumHelper(root.right,target)
        self.result.pop(-1)
        return
        
        
        
    def binaryTreePathSum(self, root, target):
        # write your code here
        if root == None:
            return []
        self.resultAll = []
        self.result = []
        self.binaryTreePathSumHelper(root,target)
        return self.resultAll

你可能感兴趣的:(二叉树的路径和)