题解 | #二叉树中和为某一值的路径#
二叉树中和为某一值的路径
http://www.nowcoder.com/practice/b736e784e3e34731af99065031301bca
# -*- 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): ans=[] # write code here # self.tmp=[] # self.sums=0 def dfs(tmp,sums,tree): tmp.append(tree.val) sums=sums+tree.val if tree.left==None and tree.right==None: if sums==expectNumber: ans.append(tmp.copy()) return elif tree.left==None: dfs(tmp, sums, tree.right) tmp.pop() elif tree.right==None: dfs(tmp, sums, tree.left) tmp.pop() else: dfs(tmp,sums,tree.left) tmp.pop() dfs(tmp,sums,tree.right) tmp.pop() if root==None: return [] dfs([],0,root) return ans