是否存在和为某一个固定值
没做过,看答案,看懂了,我觉得自己记不住
终止条件两个,如果根节点空false
如果这个点是叶子节点,比较它的值和sum减去根节点的值,同true,异false。想象成只有一个节点就很简单
最后,左右有一个为true结果就为true了
public boolean hasPathSum(TreeNode root, int targetSum) {
if(root==null)return false;
if(root.left==null&&root.right==null)
return root.val==targetSum;
return hasPathSum(root.left,targetSum-root.val)||hasPathSum(root.right,targetSum-root.val);
}