全排列算法
给定一个 没有重复 数字的序列,返回其所有可能的全排列。
示例:
输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ]
使用 dfs
var permute = function(nums) { let res = []; let visited = new Array(nums.length).fill(false); dfs(nums, [], visited, res); return res; }; function dfs(nums, path, visited, res) { if (path.length === nums.length) { res.push([...path]); return; } for (let i = 0; i < nums.length; i++) { if (visited[i]) continue; visited[i] = true; path.push(nums[i]); dfs(nums, path, visited, res); path.pop(); visited[i] = false; } }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

上一篇: 翻转链表2
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论