您的位置:首页 > 其它

LeetCode 数字排列问题 46 Permutations

2017-07-18 16:18 411 查看
题目链接
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);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: