题解 | #二叉树中和为某一值的路径(二)#
二叉树中和为某一值的路径(二)
http://www.nowcoder.com/practice/b736e784e3e34731af99065031301bca
''' 第一使用了递归 第二:采用前序遍历 第三:判定条件:target==0 and root.left==None and root.right==None:
'''
-- coding:utf-8 --
class TreeNode:
def init(self, x):
self.val = x
self.left = None
self.right = None
class Solution:
# 返回二维列表,内部每个列表表示找到的路径
def FindPath(self, root, expectNumber):
# write code here
if not root or not expectNumber:
return []
res=[]
path=[]
def dfs(root,target):
if not root:
return None
path.append(root.val)
target-=root.val
if target==0 and root.left==None and root.right==None:
res.append(path[:])
dfs(root.left,target)
dfs(root.right,target)
path.pop()
dfs(root,expectNumber)
return res
