题目地址: 链接
思路: 通过递归 + 回溯方式实现 全排列
js
/**
* @param {number[]} nums
* @return {number[][]}
*/
var permute = function(nums) {
let n = nums.length;
let vited = new Array(n).fill(false);
let ans = [];
const dfs = (idx, arr) => {
if(idx == n) {
ans.push(arr);
return;
}
for(let i = 0; i < nums.length; i ++) {
if(vited[i]) continue;
vited[i] = true;
dfs(idx + 1, [...arr, nums[i]]);
vited[i] = false;
}
}
dfs(0, []);
return ans;
};