import java.util.*;
/*
* public class TreeNode {
* int val = 0;
* TreeNode left = null;
* TreeNode right = null;
* }
*/
public class Solution {
/**
*
* @param root TreeNode类
* @param sum int整型
* @return bool布尔型
*/
public boolean hasPathSum (TreeNode root, int sum) {
// write code here
if(root == null) return false;
return dfs(root,sum);
}
private boolean dfs(TreeNode curNode , int target){
if(curNode == null ) return false;
target -= curNode.val;
if(curNode.left == null && curNode.right == null && target == 0){
return true;
}
return dfs(curNode.left,target)||dfs(curNode.right,target);
}
}