
思路:
最直接的方法就是利用递归,遍历整棵树:如果当前节点不是叶子,对它的所有孩子节点,递归调用 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);
}
}