LeetCode-437. 路径总和 III

156 阅读1分钟
  1. 路径总和 III
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
     public int pathSum(TreeNode root, int sum) {
        if(root==null){
            return 0;
        }
        return pathSum(root.left,sum)+pathSum(root.right,sum)+getSum(root,sum);
    }

    public int getSum(TreeNode node, int sum){
        if(node==null){
            return 0;
        }
        int count=0;
        if(node.val==sum){
            count=1;
        }
        return count + getSum(node.left,sum-node.val)+ getSum(node.right,sum-node.val);

    }
}