51 回溯算法求解子集

问题描述:给定一组不含重复元素的整数数组nums,返回该数组所有可能的子集。说明:解集不允许存在重复的子集;

回溯算法求解:最多进行nums.length次深度的回溯,每一次向下走都都记录一种结果,随着index一直向下走,以index为起点不可选择前面的元素。

public void tranceBack(int []nums,LinkedListtemplist,LinkedList>res,int index)
{
res.add(new linkedList(templist));
for(int i=index;i> TranceBack(int []nums)
{
List>res=new LinkedList>();
tranceBack(nums,new LinkedList(),res,0);
​​​​​​​return res;
}

你可能感兴趣的:(JAVA刷题500道,算法,数据结构,java,开发语言,深度优先)