Posted on

Description

Submission

class Solution {
public:
    vector<vector<int>> combine(int n, int k) {
        vector<vector<int>> res;
        vector<int> hand;
        backtrack(res, hand, k, n, 1);
        return res;
    }
    
private:
    void backtrack(vector<vector<int>>& res, vector<int>& hand, int k, int n, int start) {
        if(k == 0) {
            res.push_back(hand);
            return;
        }
        
        for(int i = start; i < n + 1; ++i) {
            hand.push_back(i);
            backtrack(res, hand, k - 1, n, i + 1);
            hand.pop_back();
        }
        
    }
 };

Leave a Reply

Your email address will not be published. Required fields are marked *