首页 > 学院 > 开发设计 > 正文

剑指Offer系列-面试题25:二叉树中和为某一值的路径

2019-11-06 09:10:32
字体:
来源:转载
供稿:网友

题目:输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。

思路:

代码:

vector<vector<int>> result;vector<int> tmp;vector<vector<int>> FindPath(TreeNode* root, int expectNumber){    if(root == NULL)        return result;    tmp.push_back(root->val);    expectNumber -= root->val;    /// 如果找到了最终结果,就不继续往下找了,直接返回上一层    if(expectNumber == 0 && !root->left && !root->right)    {        result.push_back(tmp);        tmp.pop_back();        return result;    }    /// 如果小于零,就不遍历子树了    if(expectNumber < 0)    {        tmp.pop_back();        return result;    }    FindPath(root->left, expectNumber);    FindPath(root->right, expectNumber);    tmp.pop_back();    return result;}


上一篇:HDU 6015

下一篇:HDU 1016

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表