面试题25:二叉树中和为某一值的路径
2017-04-28 22:38
405 查看
题目描述
输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。
解:
带记忆的DFS
输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。
解:
带记忆的DFS
/* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { } };*/ class Solution { public: vector<vector<int> > FindPath(TreeNode* root,int expectNumber) { vector<vector<int>> result; if(!root) return result; vector<int> trace; find(root, expectNumber, trace, result); return result; } void find(TreeNode* root, int expectNumber, vector<int>& trace, vector<vector<int>>& result){ trace.push_back(root->val); if(!root->left && !root->right){ if(root->val == expectNumber) result.push_back(trace); } if(root->left){ find(root->left, expectNumber - root->val, trace, result); } if(root->right){ find(root->right, expectNumber - root->val, trace, result); } trace.pop_back(); } };
相关文章推荐
- 剑指offer面试题25:二叉树中和为某一值得路径
- 剑指offer——面试题25:二叉树中和为某一值的路径(递归,深度优先搜索)
- 【剑指offer】4.3举例让抽象问题具体化——面试题25:二叉树中和为某一值的路径
- 剑指Offer面试题25(Java版):二叉树中和为某一值的路径
- 面试题 25 二叉树中的和为某一值的路径
- 【剑指Offer】面试题25:二叉树中和为某一值的路径
- 面试题25. 二叉树中和为某一值的路径
- 面试题23:从上往下打印二叉树(层序遍历) && 面试题25:二叉树中和为某一值的路径
- 剑指offer面试题25 二叉树中和为某一值的路径
- 剑指offer--面试题25:二叉树中和为某一值的路径--Java实现
- 剑指offer--面试题25: 二叉树中和为某一值的路径
- 剑指offer之面试题25:二叉树中和为某一值的路径
- 面试题 25: 二叉树中和为某一值的路径
- 剑指Offer面试题24二叉搜索树的后序遍历序列(递归),面试题25二叉树中和为某一值的路径(栈)
- 剑指offer面试题25:二叉树中和为某一值的路径
- 面试题25 二叉树中和为某一值的路径
- 剑指offer 面试题25 求二叉树中和为某一路径的值
- 剑指offer代码解析——面试题25二叉树中和为某一值的路径
- 剑指offer 面试题25 二叉树中和为某一值的路径-Java实现
- 剑指offer_面试题25_二叉树中和为某一值的路径