子集

思路

  1. 循环条件:循环结束
  2. 可以使用递归的原因:选和不选的过程可以复用

核心代码

1
2
3
4
5
6
7
8
    if i == len(nums){
        ans = append(ans, append([]int(nil),chosen...))
        return 
    }
    chosen = append(chosen,nums[i])
    recur(i+1,nums,chosen)
    chosen = chosen[:len(chosen)-1]
    recur(i+1,nums,chosen)