https://leetcode.com/problems/permutations/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/**
* @param {number[]} nums
* @return {number[][]}
*/
var permute = function(nums) {
let res = []

const backtrack = function(nums, tmp = []) {
if (tmp.length === nums.length) {
return res.push([...tmp])
}
for (let i = 0; i < nums.length; i++) {
if (~tmp.indexOf(nums[i])) continue
tmp.push(nums[i])
backtrack(nums, tmp)
tmp.pop()
}
}
backtrack(nums)

return res
};