216. Combination Sum III

来源:互联网 发布:青岛淘宝美工培训 编辑:程序博客网 时间:2024/06/08 11:24

Related Topics:BackTracking

和之前的没什么区别,重点还是找到返回出口条件

class Solution {

public:
    vector<vector<int>> combinationSum3(int k, int n) {
        vector<int> temp;
        vector<vector<int>> results;
        int count=1;
        combination(k,n,count,temp,results);
        return results;
    }


    void combination(int k, int n,int count,vector<int>& temp,vector<vector<int>>& results){
        if(k==0 && n==0){
            results.push_back(temp);
            return;
        }
        for(int i=count;i<=9;i++){
            if(n<0) return;
            temp.push_back(i);
            combination(k-1,n-i,i+1,temp,results);
            temp.pop_back();
        }
    }
};