# -*- 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
res=[]
if root==None:
return res
s=[]
v=[]
while root!=None or len( s )>0:
while root!=None:
s.append( root )
v.append( root.val )
expectNumber-=root.val
if root.left!=None:
root=root.left
else:
root=root.right
root=s[-1]
if expectNumber==0 and root.left==None and root.right==None:
temp=v[:]
res.append( temp )
# print res
s.pop( -1 )
v.pop( -1 )
expectNumber+=root.val
if len( s )>0 and s[-1].left==root:
root=s[-1].right
else:
root=None
return res