24:二叉树中和为某一值的路径
作者:
iwtbam | 来源:发表于
2019-08-12 21:55 被阅读0次题目描述
- 输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)
解题思路
- 递归:没啥特别方法,直接递归思路就很明确了,注意结束条件,叶子结点的时候停止递归即可。
AC代码
class Solution {
public:
vector<vector<int>> vec2;
vector<int> vec;
void FindPathHelper(TreeNode* root, int expectNumber){
vec.push_back(root->val);
if(root->left == nullptr && root->right == nullptr)
{
if(root->val == expectNumber)
vec2.push_back(vec);
}
else
{
if(root->left)
FindPathHelper(root->left, expectNumber - root->val);
if(root->right)
FindPathHelper(root->right, expectNumber - root->val);
}
vec.pop_back();
}
vector<vector<int>> FindPath(TreeNode* root,int expectNumber) {
if(root==nullptr)
return vector<vector<int>>();
FindPathHelper(root, expectNumber);
return vec2;
}
};
本文标题:24:二叉树中和为某一值的路径
本文链接:https://www.haomeiwen.com/subject/vsgpjctx.html
网友评论