Given a set of distinct integers, nums, return all possible subsets (the power set).
Note: The solution set must not contain duplicate subsets.
For example,
If nums = [1,2,3]
, a solution is:
[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ]
思路:dfs
class Solution(object):
def subsets(self, nums):
"""
:type nums: List[int]
:rtype: List[List[int]]
"""
res = []
self.dfs(nums, res, 0 , [])
return res
def dfs(self, nums, res, index, path):
res.append(path)
for i in range(index,len(nums)):
self.dfs(nums, res, i+1, path+[nums[i]] )