public class Solution {
    int path;

    public int FindPath(TreeNode root, int sum) {
        if (root==null){
            return path;
        }
        recursion(root,sum,0);
        FindPath(root.left,sum);
        FindPath(root.right,sum);
        return path;
    }

    public void recursion(TreeNode node, int sum, int pathSum) {
        if (node == null) return;
        pathSum += node.val;
        if (pathSum == sum) {
            path++;
        }
        recursion(node.left, sum, pathSum);
        recursion(node.right, sum, pathSum);
    }
}