- 题目描述
给定一个 没有重复 数字的序列,返回其所有可能的全排列。
- 题解
交换元素的方法
- 代码
class Solution {
public:
vector<vector<int>> permute(vector<int>& nums) {
int len=nums.size();
if (!len) return vector<vector<int>>(0);
dfs(nums,0,len);
return res;
}
void dfs(vector<int> nums, int step,int len){
if (step==len){
res.push_back(nums);
return;
}
for (int i=step;i<len;i++){
swap(nums[i],nums[step]);
dfs(nums,step+1,len);
swap(nums[i],nums[step]);
}
}
vector<vector<int>> res;
};