题目:
给定一个没有重复数字的序列,返回其所有可能的全排列。
题目链接:Permutations
C++:
class Solution {
public:
vector<vector<int>> permute(vector<int>& nums) {
int lens = nums.size();
vector<vector<int>> res;
per(res, nums, 0, lens - 1);
return res;
}
void per(vector<vector<int>> &r, vector<int> nums, int k, int len){
if(len == k){
r.push_back(nums);
return;
}
for(int i = k; i <= len; i++){
swap(nums[i], nums[k]);
per(r, nums, k + 1, len);
}
}
};