LeetCode 剑指 Offer 34. 二叉树中和为某一值的路径

LeetCode 剑指 Offer 34. 二叉树中和为某一值的路径,第1张

具体思路:

暴力dfs;

具体代码:
/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
 *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
 * };
 */
class Solution {
public:
    vector<vector<int>> pathSum(TreeNode* root, int target) {
        vector<int>vec;
        vector<vector<int>>ret;
        dfs(root,target,0,vec,ret);
        return ret;
    }

    void dfs(TreeNode* root,int target,int sum,vector<int>& vec,vector<vector<int>>& ret){
        if(!root)
            return;
        vec.push_back(root->val);
        sum+=root->val;
        if(sum==target&&!root->left&&!root->right){
            ret.push_back(vec);
        }
        dfs(root->left,target,sum,vec,ret);
        dfs(root->right,target,sum,vec,ret);
        vec.pop_back();
    }
};

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/713238.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-24
下一篇 2022-04-24

发表评论

登录后才能评论

评论列表(0条)

保存