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

二叉树中和为某一值的路径(二)

https://www.nowcoder.com/practice/b736e784e3e34731af99065031301bca

vector<vector<int>> res;
    void dfs(TreeNode* rootint expectNumbervector<int>& ret) {
        ret.push_back(root->val);
        if (root->left != nullptr) {
            vector<intret1(ret);
            dfs(root->left, expectNumber, ret1);
        }
        if (root->right != nullptr) {
            vector<intret2(ret);
            dfs(root->right, expectNumber, ret2);
        }
        if (root->left == nullptr && root->right == nullptr) {
            int sum = 0;
            for (auto val : ret) {
                sum += val;
            }
            if(sum == expectNumber)
            {
                res.push_back(ret);
            }
        }
    }
    vector<vector<int>> FindPath(TreeNode* rootint expectNumber) {
        vector<int> ret;
        if (root == nullptr)
            return res;
        dfs(root, expectNumber, ret);
        return res;
    }
#后端开发实习生#
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务