class Solution {
public:
void dfs(vector<int>&num,vector<vector<int>>&res,vector<bool>&fl,vector<int>temp)
{
bool flag=true;
for(int i=0;i<num.size();i++)
{
if(fl[i])continue;
flag=false;
fl[i]=true;
temp.push_back(num[i]);
dfs(num,res,fl,temp);
fl[i]=false;
temp.pop_back();
}
if(flag)res.push_back(temp);
}
vector<vector<int> > permute(vector<int> &num) {
vector<bool>fl(num.size(),false);
vector<vector<int>>ans;
dfs(num,ans,fl,{});
return ans;
}
};

京公网安备 11010502036488号