您的位置:首页 > 其它

Leetcode: Permutations

2013-10-04 20:57 323 查看
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]
.

void get(vector<int> &num, int index, vector<vector<int>> &solution)
{
if(index >= num.size())
{
solution.push_back(num);
return;
}else
for(int i = index; i < num.size(); i++)
{
swap(num[index],num[i]);
get(num,index+1,solution);
swap(num[index],num[i]);
}
}
vector<vector<int>> permute(vector<int> &num) {
// Note: The Solution object is instantiated only once.
vector<vector<int>> solution;
if(num.size()<1)return solution;
get(num, 0, solution);
return solution;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Leetcode Permutations