1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
{ vector<vector<int>> pathSum(TreeNode* root, int sum) { vector<vector<int>> paths; vector<int> path; DFS (root, sum, path, paths); return paths; } void (TreeNode* root, int sum, vector<int>& path, vector<vector<int>>& paths) { if (root == nullptr) { return ; } path.push_back(root->val); if (root->left == nullptr && root->right == nullptr && root->val == sum) { paths.push_back(path); } DFS (root->left, sum - root->val, path, paths); DFS (root->right, sum - root->val, path, paths); path.pop_back(); } }
|
近期评论