Same with I
1 /** 2 * Definition for binary tree 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *right; 7 * TreeNode(int x) : val(x), left(NULL), right(NULL) {} 8 * }; 9 */ 10 class Solution { 11 public: 12 void getSum(vector<vector<int> > &result, vector<int> current, TreeNode *root, int sum, int target) { 13 if (!root) return; 14 sum += root->val; 15 current.push_back(root->val); 16 if (!root->left && !root->right && sum == target) { 17 result.push_back(current); 18 return; 19 } 20 getSum(result, current, root->left, sum, target); 21 getSum(result, current, root->right, sum, target); 22 } 23 vector<vector<int> > pathSum(TreeNode *root, int sum) { 24 vector<vector<int> > result; 25 getSum(result, vector<int> (), root, 0, sum); 26 return result; 27 } 28 };
时间: 2024-10-23 22:38:19