leetcode 113. 路径总和 II medium

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/speargod/article/details/98799363

leetcode 113. 路径总和 II   medium          

题目描述:

给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。

说明: 叶子节点是指没有子节点的节点。

解题思路:

dfs

代码:

class Solution {
public:
    vector<vector<int>> pathSum(TreeNode* root, int sum) {
        if(root==nullptr)
            return {};
        
        vector<vector<int>> res;
        vector<int> out;
        dfs(root,0,sum,res,out);
        return res;
    }
    
    
    void dfs(TreeNode *root, int cur,int target,vector<vector<int>> &res,vector<int> &out){
        if(root==nullptr)
            return;
        
        cur += root->val;
        out.push_back(root->val);
        if(!root->left && !root->right && cur==target){
            res.push_back(out);
        }
        
        dfs(root->left,cur,target,res,out);
        dfs(root->right,cur,target,res,out);
        out.pop_back();
        
        
    }
    
};

猜你喜欢

转载自blog.csdn.net/speargod/article/details/98799363