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) { if(root == null) return false;

	if(dfs(root,sum,0)) return true;
	return false;
}
public boolean dfs(TreeNode root,int sum,int num) {
	if(root.left==null && root.right==null) {
		if(num + root.val == sum) return true;
		else return false;
	}
	
	num = num + root.val;
	boolean flag1 = false;
	if(root.left != null) {
		flag1 = dfs(root.left,sum,num);
	}
	boolean flag2 = false;
	if(root.right != null) {
		flag2 = dfs(root.right,sum,num);
	}
	if(flag1 || flag2) return true;
	
	return false;
}

}