leetcode_112

题目来源:https://leetcode.com/problems/path-sum/

代码:
/**

  • Definition for a binary tree node.
  • public class TreeNode {
  • int val;
  • TreeNode left;
  • TreeNode right;
  • TreeNode(int x) { val = x; }
  • }
    */
    class Solution {
    public boolean hasPathSum(TreeNode root, int sum) {
    int s = 0;
     return dfs(root,sum,s);
    

    }
    public boolean dfs(TreeNode root, int sum,int s){

    if(root == null){
        return false;
    }
    if(root.left == null && root.right == null){
        //到达叶节点,判断和是否等于sum
        s += root.val;
        if(s == sum){
            return true;
        }
    }
    s += root.val;
    //递归
    boolean left = dfs(root.left,sum,s);
    boolean right = dfs(root.right,sum,s);
    if(left||right){
        return true;
    }
    return false;
    

    }
    }