最近在LeetCode上学习算法,遇到一些比较有意思的题目都会做笔记,可惜没什么时间来写博客,今天学习累了想放松一下就写了这篇博客。好了,进入正文,这篇博客是LeetCode上的子集问题,和子集II问题。
给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。
说明:解集不能包含重复的子集。
示例:
输入: nums = [1,2,3]
输出:
[
[3],
[1],
[2],
[1,2,3],
[1,3],
[2,3],
[1,2],
[]
]
看了题目,分析一下,哦,原来是回溯算法,下面提供Java实现的代码。
class Solution {
private List<List<Integer>> res = new LinkedList<>();
private void backtrack(int[] nums,