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;
}
}