全排列
全排列1
- 给定一个 没有重复 数字的序列,返回其所有可能的全排列。
1 | var permute = function(nums) { |
这种经典的算法题,最开始可能纠结于代码的执行顺序(可以在运行环境中打断点,一步一步执行,自己看看顺序),在我看来最重要的是算法结构,比如这里解决问题的思路就是通过for
循环里加递归的结构,使用这个结构的特点是,执行递归后面的代码之后,会继续参加for
循环,就是在这里实现了排列。
全排列2
给定一个可包含重复数字的序列 nums
,按任意顺序 返回所有不重复的全排列。
1 | var permuteUnique = function(nums) { |
这里多了一个剪枝条件,同时注意这里首先进行了排序处理。
参考链接: