给定一个二叉树,找出所有路径中各节点相加总和等于给定 目标值 的路径。
一个有效的路径,指的是从根节点到叶节点的路径。
样例
给定一个二叉树,和 目标值 = 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()
本文介绍了一种算法,用于查找二叉树中所有节点值之和等于特定目标值的有效路径。有效路径定义为从根节点到叶子节点的路径。通过递归方式遍历二叉树,当达到叶子节点时,检查路径总和是否与目标值匹配。

被折叠的 条评论
为什么被折叠?



