思路:basecase为index长度等于数组长度,说明已经完成遍历越界了,此时将结果加到答案数组中返回
当前索引位置加到临时数组中后回溯,回溯后弹出回溯位置添加的值,随后再次回溯,即可跳过所在位置,遍历到全部的可能性
var subsets = function(nums){
const res = [];
function backtrack(index,arr){
if(index == nums.length){
res.push(arr.slice());//slice的作用是返回数组内容的浅拷贝,且不改变原数组
return;
}
arr.push(nums[index]);
backtrack(index+1, arr);
arr.pop();
backtrack(index+1, arr);
}
backtrack(0, []);
return res;
}
子集(思路)
最新推荐文章于 2024-09-16 20:08:29 发布