题目:113. Path Sum II
难度:中等
类型:树 深搜
星级:五星推荐
版本1
2020.3.20精简版
class Solution {
public:
vector<vector<int>> res;
vector<int> temp;
vector<vector<int>> pathSum(TreeNode* root, int sum) {
dfs(root, sum);
return res;
}
void dfs(TreeNode* root, int sum){
if(!root) return;
temp.push_back(root->val); //这个节点肯定要用
sum -= root->val; //减少到0
if(!root->left && !root->right){ //叶子节点 直接判断了返回
if(!sum) res.push_back(temp);
temp.pop_back();
return;
}
dfs(root->left, sum );
dfs(root->right, sum );
temp.pop_back();
}
};