二叉树路径之和:带记忆的DFS

Posted a-little-v

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树路径之和:带记忆的DFS相关的知识,希望对你有一定的参考价值。

题目来源:剑指offer

/*
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>> buffer;
    vector<int> tmp;
    vector<vector<int> > FindPath(TreeNode* root,int expectNumber) {
        if (root==NULL)
            return buffer;
        tmp.push_back(root->val);
        if(expectNumber==root->val && root->left==NULL && root->right==NULL)
            buffer.push_back(tmp);
        FindPath(root->left, expectNumber-root->val);
        FindPath(root->right, expectNumber-root->val);
        if(tmp.size()!=0)
            tmp.pop_back();
        return buffer;

    }
};

 

以上是关于二叉树路径之和:带记忆的DFS的主要内容,如果未能解决你的问题,请参考以下文章

数据结构(赫夫曼树)

数据结构(赫夫曼树)

最优二叉树求权值

二叉树的路径之和

使用 DFS 检查二叉树中是不是存在路径不起作用

路径总和III---双dfs/哈希表记录二叉树前缀和