题目描述
给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。
说明:解集不能包含重复的子集。
1 | 输入: nums = [1,2,3] |
代码实现
注意这段代码里的 res.push(temp.slice()),如果没有 slice() 的话,res 的最后子元素会都是空数组,[ [], [], [], [] ],原因就是我们传递了一个引用类型值 temp,相当于引用的复制,并且在 dfs 函数中我们对 temp 进行了改变,最后 temp 会变成 []。
在下面这段代码里 temp.pop()
是点睛之笔
1 | /** |
下面这段代码中 res.push(temp),因为我们并没有在 backTracking 函数中改变 temp,而是在参数过程中改变了 temp,其实是利用了 concat。
ES6 …
1 | /** |