题解 | #二叉树中和为某一值的路径#
二叉树中和为某一值的路径
http://www.nowcoder.com/practice/b736e784e3e34731af99065031301bca
# -*- coding:utf-8 -*-
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def __init__(self):
self.paths = []
self.path = []
def FindPath(self, root, expectNumber):
# write code here
if not root:
return self.paths
self.path.append(root.val)
# print(self.path)
if root.right is None and root.left is None:
if sum(self.path) == expectNumber:
self.paths.append(self.path[::])
# self.path.pop()
# print("2:", self.path)
return self.paths
if root.left is not None:
self.FindPath(root.left, expectNumber)
# print(self.path)
self.path.pop()
if root.right is not None:
self.FindPath(root.right, expectNumber)
self.path.pop()
return self.paths