77. 组合

声明一个返回result,一个回溯的数组,然后递归

 1 class Solution {
 2 public:
 3     vector<vector<int>> result;
 4     vector<int> tmp;
 5     vector<vector<int>> combine(int n, int k) {
 6         back_tracking(n, k, 1);
 7         return result;
 8     }
 9 private:
10     void back_tracking(int n, int k, int start){
11         if(tmp.size() == k){
12             result.push_back(tmp);
13         }
14         for(int i = start; i <= n; i++){
15             tmp.push_back(i);
16             back_tracking(n, k, i+1);
17             tmp.pop_back();
18         }
19     }
20 };