class Solution {
public:
int n;
vector<vector<int>> ans;
vector<int> res;
vector<int> a;
bool vis[7];
inline void dfs(int u) {
if(u > n) {
ans.push_back(res);
return ;
}
for (int i = 0; i < n; i ++) {
if(vis[i]) continue;
vis[i] = true;
res.push_back(a[i]);
dfs(u + 1);
res.pop_back();
vis[i] = false;
}
}
vector<vector<int>> permute(vector<int>& nums) {
a = nums;
n = nums.size();
dfs(1);
return ans;
}
};
成功!