和112、113題類似
不過這一題更難一些,需要進行雙重遞迴:即對每個節點做遞迴,再以該節點為起點進行dfs,搜尋滿足條件的路徑
class solution(object):
def __init__(self):
self.count = 0
def pathsum(self, root, sum):
if not root:
return 0
def helper(root, sum):
if not root:
return
if sum - root.val == 0:
self.count += 1
# if root.left:
helper(root.left, sum - root.val)
# if root.right:
helper(root.right, sum - root.val)
#雙重遞迴
helper(root, sum)
self.pathsum(root.left, sum)
self.pathsum(root.right, sum)
return self.count
437 路徑總和 III
給定乙個二叉樹,它的每個結點都存放著乙個整數值。找出路徑和等於給定數值的路徑總數。路徑不需要從根節點開始,也不需要在葉子節點結束,但是路徑方向必須是向下的 只能從父節點到子節點 二叉樹不超過1000個節點,且節點數值範圍是 1000000,1000000 的整數。示例 root 10,5,3,3,2...
437 路徑總和 III
給定乙個二叉樹,它的每個結點都存放著乙個整數值。找出路徑和等於給定數值的路徑總數。路徑不需要從根節點開始,也不需要在葉子節點結束,但是路徑方向必須是向下的 只能從父節點到子節點 二叉樹不超過1000個節點,且節點數值範圍是 1000000,1000000 的整數。示例 root 10,5,3,3,2...
437 路徑總和 III
給定乙個二叉樹,它的每個結點都存放著乙個整數值。找出路徑和等於給定數值的路徑總數。路徑不需要從根節點開始,也不需要在葉子節點結束,但是路徑方向必須是向下的 只能從父節點到子節點 二叉樹不超過1000個節點,且節點數值範圍是 1000000 1000000 的整數。示例 root 10 5,3,3,2...