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
```js
/**
* @param {number[]} nums
* @return {number[][]}
*/
var permute = function(nums) {
let result = []
let path = []
function backtracing(used) {
if(path.length === nums.length) {
result.push(path.slice(0))
return
const res = [], path = [];
backtracking(nums, nums.length, []);
return res;
function backtracking(n, k, used) {
if(path.length === k) {
res.push(Array.from(path));
return;
}
for(let i = 0; i < nums.length; i++) {
if(used[nums[i]]) {
continue
}
used[nums[i]] = true
path.push(nums[i])
backtracing(used)
path.pop()
used[nums[i]] = false
for (let i = 0; i < k; i++ ) {
if(used[i]) continue;
path.push(n[i]);
used[i] = true; // 同支
backtracking(n, k, used);
path.pop();
used[i] = false;
}
}
backtracing([])
return result
};
```