LeetCode-437. 路径总和 III (2)

403 阅读1分钟

437. 路径总和 III (2)-计数放到外部

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    int count;
    public int pathSum(TreeNode root, int sum) {
        if(root==null){
            return 0;
        }
        getSum(root,sum);
        pathSum(root.left,sum);
        pathSum(root.right,sum);
        return count;
    }

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

    }
}