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

2019-08-12  本文已影响0人  iwtbam

题目描述

解题思路

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;
    }
};

上一篇 下一篇

猜你喜欢

热点阅读