题目链接:https://leetcode.cn/problems/subsets/
难度:中等

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

提示:
nums.length:[1, 10]

题解

  1. class Solution:
  2. def subsets(self, nums: List[int]) -> List[List[int]]:
  3. ret = []
  4. temp = []
  5. def dfs(i):
  6. if i == len(nums):
  7. ret.append(temp[:])
  8. return
  9. temp.append(nums[i])
  10. dfs(i+1)
  11. temp.pop()
  12. dfs(i+1)
  13. dfs(0)
  14. return ret