update 46.全排列 JavaScript版本

This commit is contained in:
qingyi.liu
2021-06-06 22:39:18 +08:00
parent 0a2a5b180a
commit 2b5b52081f

View File

@ -244,31 +244,35 @@ func backtrack(nums,pathNums []int,used []bool){
} }
} }
```
Javascript: Javascript:
```javascript ```js
/**
* @param {number[]} nums
* @return {number[][]}
*/
var permute = function(nums) { var permute = function(nums) {
let result = [] const res = [], path = [];
let path = [] backtracking(nums, nums.length, []);
function backtracing(used) { return res;
if(path.length === nums.length) {
result.push(path.slice(0)) function backtracking(n, k, used) {
return if(path.length === k) {
res.push(Array.from(path));
return;
} }
for(let i = 0; i < nums.length; i++) { for (let i = 0; i < k; i++ ) {
if(used[nums[i]]) { if(used[i]) continue;
continue path.push(n[i]);
} used[i] = true; // 同支
used[nums[i]] = true backtracking(n, k, used);
path.push(nums[i]) path.pop();
backtracing(used) used[i] = false;
path.pop()
used[nums[i]] = false
} }
} }
backtracing([])
return result
}; };
``` ```