Path Sum II
2014-12-25 13:53
155 查看
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
return
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] ]
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { private: vector<int> temp; vector<vector<int> > ans; public: vector<vector<int> > pathSum(TreeNode *root, int sum) { ans.clear(); hasPathSum(root,sum); return ans; } void hasPathSum(TreeNode *root, int sum) { if(root==NULL) return; if(root->left==NULL && root->right==NULL) { if(root->val == sum) { temp.push_back(root->val); ans.push_back(temp); temp.pop_back(); } return; } temp.push_back(root->val); hasPathSum(root->left,sum - root->val); hasPathSum(root->right,sum - root->val); temp.pop_back(); } };
相关文章推荐
- [lintcode] Binary Tree Maximum Path Sum II
- Leetcode: Unique Path I & II, Minimum Path Sum, Triangle
- 113. Path Sum II
- LeetCode题解:Path Sum I and II
- [112]. Path Sum,[113]. Path Sum II
- Leetcode: Path Sum II 理解分析
- 【二叉树】DFS计算路径和,保存路径【113. Path Sum II】【112. Path Sum】
- Unique Paths I,II, Minimum Path Sum
- LeetCode113—Path Sum II
- LeetCode OJ:Path Sum II(路径和II)
- LeetCode---Path Sum II
- LeetCode 113 Path Sum II
- LeetCode 64/62/63. Minimum Path Sum/ Unique Paths i, ii
- Path Sum II
- leetcode: Path Sum II
- LeetCode——Path Sum II
- Problem Path Sum II
- LeetCode--path-sum-ii
- 113. Path Sum II
- 【LeetCode】Path Sum II 二叉树递归