/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: vector<vector<int>> res; vector<int> aux; void pathSum1(TreeNode* root, int sum) { if(root->left == root->right) { if(sum == root->val) { aux.push_back(sum); res.push_back(aux); aux.pop_back(); } } aux.push_back(root->val); if(root->left) { pathSum1(root->left, sum-root->val); } if(root->right) { pathSum1(root->right, sum-root->val); } aux.pop_back(); } vector<vector<int>> pathSum(TreeNode* root, int sum) { res.clear(); if(root==NULL) return vector<vector<int>>(); pathSum1(root, sum); return res; } };
原文地址:https://www.cnblogs.com/randyniu/p/9348994.html
时间: 2024-10-06 19:46:24