您的位置:首页 > 其它

leetcode-Permutations

2015-11-07 20:48 239 查看

Difficulty: Medium

Given a collection of 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]
, and
[3,2,1]
.


class Solution {
vector<vector<int> > res;
void helper(vector<int> &nums,int n,int cur){
if(cur==n){
res.push_back(nums);
return;
}
for(int i=cur;i<n;++i){
if(cur!=i)
swap(nums[cur],nums[i]);
helper(nums,n,cur+1);
if(cur!=i)
swap(nums[cur],nums[i]);
}

}

public:
vector<vector<int>> permute(vector<int>& nums) {
if(nums.empty())
return res;
helper(nums,nums.size(),0);
return res;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: