import java.util.*;



public class Solution {
    
    public boolean hasPathSum (TreeNode root, int sum) {
        // write code here
        //前序遍历二叉树,到分叉判断sum与子节点相减
        // 到最后为空节点时查看sum是否为0如果是就说明是一条路径
       
       if(root==null){
        return false;
       }
        //终止条件,叶子节点并且sum-当前值==0
        if(sum-root.val==0&&root.left==null&&root.right==null){
            return true;
        }

        return hasPathSum(root.left,sum-root.val)|| hasPathSum(root.right,sum-root.val);
       
    }
}