[回溯]leetcode46. 全排列
2020-10-17 本文已影响0人
_royalpioneer
题目
代码如下
var permute = function(nums) {
const res = [];
// 从第二个参数开始依次是depth, path, used
backTrack(nums,0,[],[],res);
return res;
};
var backTrack = function(nums, depth, path, used, res) {
if(depth === nums.length) {
res.push(path.slice());
return;
}
for(let i=0;i<nums.length;i++){
if(!used[i]) {
used[i] = true;
path.push(nums[i]);
backTrack(nums, depth+1, path, used, res);
path.pop();
used[i] = false;
}
}
}