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

  • 输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)
class Solution {
public:
    vector<vector<int> >ans;
    vector<int> myvector;
    vector<vector<int> > FindPath(TreeNode* root,int expectNumber) {
        if(root)
            dfs(root,expectNumber);
        return ans;
    }
    void dfs(TreeNode* root,int expectNumber)
    {
        myvector.push_back(root->val);
        if(expectNumber-root->val == 0 && !root->left && !root->right)
            ans.push_back(myvector);
        if(root->left)
            dfs(root->left,expectNumber-root->val);
        if(root->right)
            dfs(root->right,expectNumber-root->val);
        myvector.pop_back();
    }
};
    原文作者:算法
    原文地址: https://www.twblogs.net/a/5bd3aa562b717778ac20aaa3
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞