function hasPathSum( root , sum ) {
// write code here
if(!root) return false;
// 递归法
return dfs(root,sum-root.val)
function dfs(node,num){
// 如果计数为0,并且遇到叶子节点,返回true
if(num==0 && !node.left && !node.right) return true;
//遇到叶子节点,如果计数不为0,并且返回false
if(!node.left && !node.right) return false ;
// 否则,继续左右子节点分别递归
if(node.left && dfs(node.left, num-node.left.val)) return true;
if(node.right && dfs(node.right,num-node.right.val)) return true;
return false;
}
}