首页 > 代码库 > [LeetCode] Path Sum II

[LeetCode] Path Sum II

Given a binary tree and a sum, find all root-to-leaf paths where each path‘s sum equals the given sum.

For example:
Given the below binary tree and sum = 22,

              5             /             4   8           /   /           11  13  4         /  \    /         7    2  5   1

return

[   [5,4,11,2],   [5,8,4,5]]


path sum 的升级版,思路一样,木有难度。
void pathSum2Iter(TreeNode *node, int sum, vector<int> t, vector<vector<int>> &ret) {    if (!node) return;    int val = sum - node->val;    t.push_back(node->val);    if (val == 0 && (!node->left && !node->right)) {        ret.push_back(t);        return;    }    pathSum2Iter(node->left, val, t, ret);    pathSum2Iter(node->right, val, t, ret);}vector<vector<int> > pathSum2(TreeNode *root, int sum) {    vector<vector<int>> ret;    vector<int> t;    pathSum2Iter(root, sum, t, ret);    return ret;}

 

 

[LeetCode] Path Sum II