# -*- 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
l=[]
stack=[]
self.dp(root,expectNumber,stack,l)
return l
def dp(self,root,expectNumber,stack,l):
if not root:
s=sum(stack)
if s==expectNumber and stack not in l and stack:
l.append(stack[:])
return
stack.append(root.val)
self.dp(root.left,expectNumber,stack,l)
self.dp(root.right,expectNumber,stack,l)
stack.pop()