题目描述:给定一个二叉树,它的每个结点都存放着一个整数值。
找出路径和等于给定数值的路径总数。路径不需要从根节点开始,
也不需要在叶子节点结束,但是路径方向必须是向下(只能从父节点到子节点)。
递归
双重递归,比较navie的方法,复杂度高达O(n^2)
class Solution {
public:
int helper(TreeNode* root,int sum)
{
if(root==NULL) return 0;
sum-=root->val;
return (sum==0 ? 1 : 0) + helper(root->left,sum) + helper(root->right,sum);
}
int pathSum(TreeNode* root