leetcode 77

DFS 

level参数也可以用out.size()代替

 void DFS(vector>& res, vector& out, int n, int k,int init,int level) {
	if (level >= k) {
		res.push_back(out);
		return;
	}
	else
	{
		for (int i = init; i <= n; i++)
		{						
			out.push_back(i);				
			DFS( res, out, n, k, i + 1,level+1);				
			out.pop_back();
		}
	}
}
    vector> combine(int n, int k) {
        vector> res;
	    vector out;
	    vector vis(n + 1, 0);
	    DFS( res, out, n, k,1,0);
	    return res;
    }

 

你可能感兴趣的:(Leetcode)