Path Sum II

来源:互联网 发布:python 3.5.2打开 编辑:程序博客网 时间:2024/06/15 09:24

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]]
class Solution {public:vector<vector<int> > res;void judge(TreeNode* root, vector<int> vec, int last, int sum){if (0 == root) return;if (root->left == 0 && 0 == root->right){if (last + root->val == sum){vec.push_back(root->val);res.push_back(vec);}}else{vec.push_back(root->val);judge(root->left, vec, last + root->val, sum);judge(root->right, vec, last + root->val, sum);}}    vector<vector<int> > pathSum(TreeNode *root, int sum) {res.clear();vector<int> tmp;judge(root, tmp, 0, sum);return res;    }};


0 0
原创粉丝点击