mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-11 21:10:58 +08:00
update 46.全排列 JavaScript版本
This commit is contained in:
@ -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
|
||||
};
|
||||
|
||||
```
|
||||
|
Reference in New Issue
Block a user