全排列
给定一个 没有重复 数字的序列,返回其所有可能的全排列。
定义res
每个排列序列为状态变量,排列序列中集合的个数为条件变量
当排列序列的元素个数等于给定序列时,满足条件
下一层递归依赖于上一层递归传递的路径
var permute = function(nums) {
let len = nums.length;
let res = [];
function back(path){
if(path.length === len){
res.push(path);
return;
}
for(let i = 0;i < len;i++){
if(path.indexOf(nums[i]) === -1){ //这里的判断很精髓
path.push(nums[i]);
back(path.slice());
path.pop();
}
}
}
back([]);
return res;
};
最后更新于
这有帮助吗?