声明一个返回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 };
浙公网安备 33010602011771号