子集和组合问题基本一致,只是需要再递归一开始就将path加入到result数组。

1 子集

  • 1 if (path.size() == nums.size()) return ;
    • path长度符合nums.size()的在此条件下返回
    • path长度不符合nums.size()条件,但是又不会进入下面的for循环,函数运行完自动back
  • 2 if (start >= nums.size()) return ;

2 子集II

给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的

 
同样的层树不能重复,具体可以看组合总和II和全排列II中的处理。