题解 | #二叉树中和为某一值的路径(三)#
二叉树中和为某一值的路径(三)
https://www.nowcoder.com/practice/965fef32cae14a17a8e86c76ffe3131f
# class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param root TreeNode类 # @param sum int整型 # @return int整型 # class Solution: res = 0 def FindPath(self , root: TreeNode, sum: int) -> int: # write code here if root == None: return self.res # 递归查找所有节点 self.dfs(root,sum) self.FindPath(root.left,sum) self.FindPath(root.right,sum) return self.res # 创建DSF,每次单独查以这个为根节点的树是否存在符合路径 def dfs(self,root,sum): if root == None: return if sum == root.val: self.res +=1 # 这里很巧妙使用 sum - root.val 来更新判断节点 self.dfs(root.left,sum-root.val) self.dfs(root.right,sum-root.val)
剑指offer刷题笔记 文章被收录于专栏
24秋招剑指offer刷题的笔记