[leetcode]46. Permutations
Analysis
ummmmmmmmmmmmmmmmmmmmmmmmm~—— [ummmm~]
Given a collection of distinct integers, return all possible permutations.
求全排列的题,这篇文章里面讲的很清楚,可以参考一下:https://blog.csdn.net/feliciafay/article/details/41349783
Implement
class Solution {
public:
vector<vector<int>> permute(vector<int>& nums) {
int len = nums.size();
helper(nums, len, 0);
return res;
}
void helper(vector<int>& nums, int len, int index){
if(index == len){
res.push_back(nums);
}
else{
for(int i=index; i<len; i++){
swap(nums, index, i);
helper(nums, len, index+1);
swap(nums, index, i);
}
}
}
void swap(vector<int>& nums, int i, int j){
int t = nums[i];
nums[i] = nums[j];
nums[j] = t;
}
private:
vector<vector<int>> res;
};