给定一个没有重复数字的序列,返回其所有可能的全排列。
示例:
输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ]
解题思路:使用STL next_permutation 全排列函数,next_permutation(v.begin(),v.end())
class Solution {
public:
vector<vector<int>> permute(vector<int>& nums) {
vector<vector<int>>v;
int n=f(nums.size());
for(int i=0;i<n;i++){
v.push_back(nums);
next_permutation(nums.begin(),nums.end());
}
return v;
}
int f(int n){
int cout=1;
for(int i=2;i<=n;i++){
cout*=i;
}
return cout;
}
};