题目链接
https://leetcode.com/problems/permutations/#/description
Given a collection of distinct numbers, return all possible permutations.
For example,
[1,2,3]
have the following permutations:
[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ]
vector<vector<int>>permute(vector<int> nums)
{
vector<vector<int>> permutions;
if(nums.empty()) return permutions;
perm(nums,0,permutions);
return permutions;
}
void perm(vector<int>nums,int start,vector<vector<int>>&permutions)
{
if(start == nums.size())
{
permutions.push_back(nums);
return;
}
for(int i = start;i < nums.size();i++)
{
swap(nums[start],nums[i]);
perm(nums,start + 1,permutions);
}
}