输出全排列,基础dfs类题目 ,今日水一水(ಥ﹏ಥ)
vector<vector<int>> set;
vector<int> c;
void dfs(int cur, vector<int> &nums)
{
if(cur == nums.size())
{
set.push_back(c);
return;
}
for(int i = 0;i<nums.size();i++)
{
int ok = 1;
c.push_back(nums[i]);
for(int j = 0;j < cur;j++)
{
if(c[j] == nums[i])
{
ok = 0;
c.pop_back();
break;
}
}
if(ok)
{
dfs(cur + 1, nums);
c.pop_back();
}
}
}
vector<vector<int>> permute(vector<int>& nums)
{
if(nums.size() == 0)
return set;
dfs(0, nums);
return set;
}