leetcode Path Sum II

来源:互联网 发布:韩顺平php笔记 编辑:程序博客网 时间:2024/05/16 11:33

原题链接:https://leetcode.com/problems/path-sum-ii/

/** * Definition for a binary tree node. * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {private:    typedef vector<int> vec;    typedef vector<vec> mat;public:    mat pathSum(TreeNode* root, int sum) {        ret.clear(), ans.clear();        if (!root) return ans;        dfs(root, 0, sum);        return ans;    }private:    vec ret;    mat ans;    void dfs(TreeNode *x, int cur, int sum) {        if (!x) return;        if (!x->left && !x->right) {            if (sum == x->val + cur) {                ret.push_back(x->val);                ans.push_back(ret);                ret.pop_back();            }        }        ret.push_back(x->val);        dfs(x->left, cur + x->val, sum);        dfs(x->right, cur + x->val, sum);        ret.pop_back();    }};
0 0
原创粉丝点击