python leetcode 437. Path Sum III
阿新 • • 發佈:2018-12-02
按照題意遞迴即可 因為要遍歷每一個節點所以會存在重複遍歷執行時間增加
class Solution: def pathSum(self, root, sum): """ :type root: TreeNode :type sum: int :rtype: int """ res=[0] def dfs(root,cursum): if not root: return if cursum-root.val==0: res[0]+=1 if root.left: dfs(root.left,cursum-root.val) if root.right: dfs(root.right,cursum-root.val) if not root: return 0 stack = [root] while stack: node = stack.pop() dfs(node,sum) if node.right: stack.append(node.right) if node.left: stack.append(node.left) return res[0]