| [ Web Proxy ] |
| Viewing: https://raw.githubusercontent.com/wcoder0/leetcode/master/algorithms/python/PathSumIII/pathSum.py | [Back] [Original] |
def pathSum(self, root, target):
self.result = 0
cache = {0:1}
def dfs(root, currPathSum):
if not root: return
currPathSum += root.val
oldPathSum = currPathSum - target
self.result += cache.get(oldPathSum, 0)
cache[currPathSum] = cache.get(currPathSum, 0) + 1
dfs(root.left, currPathSum)
dfs(root.right, currPathSum)
cache[currPathSum] -= 1
dfs(root, 0)
return self.result
| Web Proxy Viewer | New URL | Original Page |