leetcode subsets

来源:互联网 发布:流体力学 教材 知乎 编辑:程序博客网 时间:2024/05/21 07:55

class Solution {

public:

    vector<vector<int>> res;

    void dfs(vector<int>& path,int start,vector<int> nums)

    {

        if(start>nums.size()-1){

            //cout<<"return"<<endl;

            res.push_back(path);

            return;

        }

        for(int i=0;i<=path.size()-1;i++)

        {

            if(path.size()==0)

                break;

            //cout<<path[i];

        }

        //cout<<endl;

        res.push_back(path);

        for(int i=start;i<=nums.size()-1;i++)

        {

            if(i>0&&nums[i]==nums[i-1])

                continue;

            path.push_back(nums[i]);

            //cout<<"i:"<<i<<"nums[i]: "<<nums[i]<<endl;

            dfs(path,i+1,nums);

            path.pop_back();

        }

    }

    vector<vector<int>> subsets(vector<int>& nums) {

        sort(nums.begin(),nums.end());

        vector<int> path;

        dfs(path,0,nums);

        returnres;

    }

};