LeetCode 16. 全排列
原题链接
中等
作者:
linux_2019
,
2019-05-15 09:18:43
,
所有人可见
,
阅读 1402
class Solution {
public:
vector<vector<int>> res;
vector<int >visit;
void dfs(vector<int> & nums,int n,vector<int> & tmp)
{
if(n==nums.size())
{
res.push_back(tmp);
return ;
}
for(int i=0;i<nums.size();i++)
{
if(visit[i]!=1)
{
visit[i]=1;
tmp.push_back(nums[i]);
dfs(nums,n+1,tmp);
tmp.pop_back();
visit[i]=0;
}
}
}
vector<vector<int>> permute(vector<int>& nums) {
int n=nums.size();
visit.resize(n);
vector<int>tmp;
dfs(nums,0,tmp);
return res;
}
};