# Definition for a binary tree node
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
# @param root, a tree node
# @param sum, an integer
# @return a list of lists of integers
def pathSum(self, root, sum):
stack=[]
if root:
stack=[([root],root.val)]
else:
return []
rst=[]
while stack:
crt=[]
for i in stack:
if i[0][-1].left==None and i[0][-1].right==None and i[1]==sum:
rst.append([j.val for j in i[0]])
if i[0][-1].left:
temp=i[0]+[i[0][-1].left]
crt.append((temp,i[1]+i[0][-1].left.val))
if i[0][-1].right:
temp=i[0]+[i[0][-1].right]
crt.append((temp,i[1]+i[0][-1].right.val))
stack=crt[:]
return rst
Friday, September 12, 2014
Leetcode: Path Sum II @Python
Subscribe to:
Post Comments
(
Atom
)
No comments :
Post a Comment