LeetCode算法笔记–Day26
46. 全排列
题目:
给定一个 没有重复 数字的序列,返回其所有可能的全排列。
示例1:
输入: [1,2,3]
输出:[
[1,2,3],
[1,3,2],
[2,1,3],
[2,3,1],
[3,1,2],
[3,2,1]
]
我的解答:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20/**
* @param {number[]} nums
* @return {number[][]}
*/
var permute = (nums) => {
let res = []
dfs([])
function dfs(path) {
if (path.length===nums.length) {
res.push(path.slice())
}
for (const num of nums) {
if (path.includes(num)) continue
path.push(num)
dfs(path)
path.pop()
}
}
return res
}