二叉树中路径和为某整数的所有路径 lint code by python

来源:互联网 发布:python 模拟浏览器 编辑:程序博客网 时间:2024/05/17 20:22

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

一个有效的路径,指的是从根节点到叶节点的路径。


样例

给定一个二叉树,和 目标值 = 5:

     1    / \   2   4  / \ 2   3

返回:

[  [1, 2, 2],  [1, 4]]

采用博客二叉树中路径和为某整数的所有路径  中的思路

 class Solution:    """    @param: root: the root of binary tree    @param: target: An integer    @return: all valid paths    """    list_val=[]    result=[]    def binaryTreePathSum(self, root, target):        # write your code here        self.pathSearcher(root,target)        return self.result    def pathSearcher(self,root,target):        if root==None: return        self.list_val.append(root.val)        if root.left==None and root.right==None:            """            if using another codes, it just won't wort:            if root.val==target:               self.result.append(self.result.append(b))            """            if root.val==target:                b=[]                for i in range(len(self.list_val)):                    print(self.list_val[i])                    b.append(self.list_val[i])                self.result.append(b)        else:            self.pathSearcher(root.left,target-root.val)            self.pathSearcher(root.right,target-root.val)        self.list_val.pop()       


阅读全文
0 0
原创粉丝点击