二叉树中和为某一值的路径

来源:互联网 发布:优先级调度算法流程图 编辑:程序博客网 时间:2024/06/04 18:53

题目描述

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


classSolution {
    vector<vector<int> >allRes;
    vector<int> tmp;
    voiddfsFind(TreeNode * node , intleft){
        tmp.push_back(node->val);
        if(left-node->val == 0 && !node->left && !node->right)
            allRes.push_back(tmp);
        else{
            if(node->left) dfsFind(node->left, left-node->val);
            if(node->right) dfsFind(node->right, left-node->val);
        }
        tmp.pop_back(); 
    }
public:
    vector<vector<int> > FindPath(TreeNode* root,intexpectNumber) {
        if(root) dfsFind(root, expectNumber);
        returnallRes;
    }
};
0 0
原创粉丝点击