LintCode 376 Binary Tree Path sum
2017-07-19 15:38
337 查看
LintCode 376 Binary Tree Path sum
Example
Given a binary tree, and target = 5:
2 4
/ \
2 3
return
[
[1, 2, 2],
[1, 4]
]
Example
Given a binary tree, and target = 5:
1 / \
2 4
/ \
2 3
return
[
[1, 2, 2],
[1, 4]
]
/** * Definition of TreeNode: * class TreeNode { * public: * int val; * TreeNode *left, *right; * TreeNode(int val) { * this->val = val; * this->left = this->right = NULL; * } * } */ class Solution { public: /** * @param root the root of binary tree * @param target an integer * @return all valid paths */ void Travel(TreeNode* node, vector<int>& path, int sum, vector<vector<int>>& result, int target) { if (sum == target && node->left == NULL&& node->right == NULL) { result.push_back(path); } if (node->left != NULL) { sum += node->left->val; path.push_back(node->left->val); Travel(node->left, path, sum, result, target); path.pop_back(); sum -= node->left->val; } if (node->right != NULL) { sum += node->right->val; path.push_back(node->right->val); Travel(node->right, path, sum, result, target); path.pop_back(); sum -= node->right->val; } } vector<vector<int>> binaryTreePathSum(TreeNode *root, int target) { // Write your code here vector<vector<int>>* result = new vector<vector<int>>; if (root == NULL) return *result; vector<int>* path = new vector<int>; path->push_back(root->val); int sum = root->val; Travel(root, *path, sum, *result, target); return *result; } };
相关文章推荐
- LintCode 376: Binary Tree Path Sum
- lintcode-376- Binary Tree Path Sum
- lintcode-medium-Binary Tree Maximum Path Sum
- lintcode:Binary Tree Maximum Path Sum
- [Lintcode] Binary Tree Maximum Path Sum
- [lintcode] Binary Tree Maximum Path Sum II
- [LintCode] 二叉树的路径之和 Binary Tree Path Sum
- *[Lintcode]Binary Tree Maximum Path Sum
- [lintcode] Binary Tree Maximum Path Sum II
- 20150708 lintcode 总结 Binary Tree Maximum Path Sum Show result *****
- [LintCode] Binary Tree Maximum Path Sum (二叉树中的最大路径和)
- Binary Tree Maximum Path Sum ---lintcode
- ***Binary Tree Maximum Path Sum
- Binary Tree Maximum Path Sum
- LeetCode-Binary Tree Maximum Path Sum
- Binary Tree Maximum Path Sum [leetcode] dp
- 【二叉树的递归】05二叉树中找任意起点和终点使他们的路径和最大【Binary Tree Maximum Path Sum】
- Binary Tree Maximum Path Sum
- [leetcode]Binary Tree Maximum Path Sum
- Leetcode -- Binary Tree Maximum Path Sum