题目描述
blablabla
样例
blablabla
算法1
() $O(n^2)$
blablabla
时间复杂度分析:blablabla
Python 代码
# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution(object):
def findPath(self, root, sum):
"""
:type root: TreeNode
:type sum: int
:rtype: List[List[int]]
"""
if not root:
return []
# 如果只有根节点或者找到叶子节点,我们就把其值返回
res = []
if not root.left and not root.right and root.val == sum:
return [[root.val]]
else:
# 如果不是叶子节点,我们分别对根节点的左子树、右子树进行递归,注意修改变量:
left = self.findPath(root.left, sum - root.val)
right = self.findPath(root.right, sum - root.val)
for node in left + right:
res.append([root.val] + node)
return res