```js let output = [] let curOutput = [] let used /** * @param {number[]} nums * @return {number[][]} */ var permute = function (nums) { used = new Array(nums.length).fill(false) dfs(nums, 0) return output };
function dfs(n, idx) { if (idx === n.length) { output.push([...curOutput]) return } for (let i = 0; i < n.length; i++) { if (!used[i]) { curOutput.push(n[i]) used[i] = true dfs(n, idx + 1) used[i] = false curOutput.pop() } } }
我的代码:
```js
let output = []
let curOutput = []
let used
/**
* @param {number[]} nums
* @return {number[][]}
*/
var permute = function (nums) {
used = new Array(nums.length).fill(false)
dfs(nums, 0)
return output
};
function dfs(n, idx) {
if (idx === n.length) {
output.push([...curOutput])
return
}
for (let i = 0; i < n.length; i++) {
if (!used[i]) {
curOutput.push(n[i])
used[i] = true
dfs(n, idx + 1)
used[i] = false
curOutput.pop()
}
}
}
```
我的结果:
leetcode 结果(上一个输出的结果和这个结果在一起了):