Easy
首先阅读理解,我们需要寻找出一条路径使这个路径的和等于sum
一眼就是使用DFS来遍历二叉树,然后同时得到路径的和与sum
做比较。我们可以初始给sum
,然后向下遍历的过程中逐步减去当前节点的值。
如果值变成0
,说明所经过的路径的节点和恰好是sum
注意题目要求是到根节点。也就是说当数值变成0
时,也需要保证当前节点是最后一个节点。也就是说左右子节点都为空
以上,AC!
python3
class Solution:
def hasPathSum(self, root: TreeNode, sum: int) -> bool:
def dfs(node,t):
if node is None:
return False
t -= node.val
if t is 0 and node.left is None and node.right is None:
return True
return dfs(node.left,t) or dfs(node.right,t)
return dfs(root,sum)