Path Sum II*
, 5
/ \
4 8
/ / \
11 13 4
/ \ / \
7 2 5 1[
[5,4,11,2],
[5,8,4,5]
]class Solution(object):
def pathSum(self, root, sum):
"""
:type root: TreeNode
:type sum: int
:rtype: List[List[int]]
"""
if root == None:
return []
result = []
self.dfs(root, sum, result, [])
return result
def dfs(self, root, sum, result, level):
if root == None:
return
sum -= root.val
level.append(root.val)
if root.left == None and root.right == None:
if sum == 0:
result.append(list(level))
if root.left:
self.dfs(root.left, sum, result, level)
del level[-1]
if root.right:
self.dfs(root.right, sum, result, level)
del level[-1]Last updated