题解 | #二叉树中和为某一值的路径(三)#

//思路具体看题解。我是参考题解思路写的。
class Solution {
public:

    void solve(TreeNode* root,int sum,int &count)
    {
        if(root==nullptr)
            return;
        if(root->val==sum)
        {
            count++;
        }
        solve(root->left, sum-root->val, count);
        solve(root->right, sum-root->val, count);
    }

    int FrontOrder(TreeNode* root,int sum)
    {
        if(root==nullptr)
            return 0;
        int current=0;
        solve(root, sum, current);//处理当前节点
        int left=0;
        int right=0;
        if(root->left)
        {
            left=FrontOrder(root->left, sum);//递归两个孩子
        }
        if(root->right)
        {
            right=FrontOrder(root->right, sum);
        }
        return left+right+current;
    }

    int FindPath(TreeNode* root, int sum) {
        return FrontOrder(root, sum);
    }
};

全部评论

相关推荐

12-15 11:27
门头沟学院 Java
哇哇的菜鸡oc:所有人不要理会,就好了,后面他就知道怎么回事了,只能说有的时候市场都是被宰的人搞坏的
点赞 评论 收藏
分享
秋招投简历提醒助手:个人经验是,一般面二十场左右就会进入侃侃而谈阶段。我今年七月末的时候开始的第一次面试,都是很多不会,回复很慢。后面慢慢迭代,到九月中的时候基本上面啥说啥,很放松的状态
远程面试的尴尬瞬间
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务