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 pathSum(self, root, sum):
“”"
:type root: TreeNode
:type sum: int
:rtype: int
“”"
## brute force, recursive DFS
def count(node, sum):
if node is None:
return 0
else:
return (node.val == sum) + count(node.left, sum - node.val) + count(node.right, sum - node.val)
if root is None:
return 0
else:
return count(root, sum) + self.pathSum(root.left, sum) + self.pathSum(root.right, sum)