思路:
最直接的方法就是利用递归,遍历整棵树:如果当前节点不是叶子,对它的所有孩子节点,递归调用 hasPathSum 函数,其中 sum 值减去当前节点的权值;如果当前节点是叶子,检查 sum 值是否为 0,也就是是否找到了给定的目标和。
class Solution {//看笔记,思路 public boolean hasPathSum(TreeNode root, int sum) { //int sum1=sum; if(root==null)return false; sum-=root.val; if(root.left==null&&root.right==null) { if(sum==0) return true; } return hasPathSum(root.left,sum)||hasPathSum(root.right,sum); } }