Leetcode-113. Path Sum II

来源:互联网 发布:刀塔传奇数据库 编辑:程序博客网 时间:2024/06/08 03:59

题目

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]
]
找出二叉树中所有和为sum的路径

思路

深度遍历

代码

class Solution {public:    vector<vector<int> > ret;    void help(TreeNode *root, vector<int> cur, int target) {        cur.push_back(root->val);        if(!root->left && !root->right) {            if(root->val == target)                ret.push_back(cur);            return;        }        if(root->left)            help(root->left, cur, target-root->val);        if(root->right)            help(root->right, cur, target-root->val);    }    vector<vector<int> > pathSum(TreeNode* root, int sum) {        if(!root)            return ret;        vector<int> temp;        help(root, temp, sum);        return ret;    }};
0 0
原创粉丝点击