给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。
    解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。

    分析:本题是典型的组合问题,由于所有遍历的结果都要!所以没有设置递归终止条件,而是把遍历的路程全部加入结果集!

    参考代码:
    public List> subsets(int[] nums) {
    sup(nums,0);
    return ret;
    }
    List> ret = new ArrayList<>();
    LinkedList path = new LinkedList<>();
    private void sup(int[] nums,int index){
    ret.add(new ArrayList<>(path));
    for(int i=index;i path.add(nums[i]);
    sup(nums,i+1);
    path.removeLast();
    }
    }