构造递归函数。先加进数来找子集,再减去数来找其他子集。
class Solution(object):
def subsets(self, nums):
"""
:type nums: List[int]
:rtype: List[List[int]]
"""
self.results=[]
self.search(sorted(nums),[],0)
return self.results
def search(self,nums,sub,index):
if index==len(nums):
self.results.append(sub)
return
self.search(nums,sub+[nums[index]],index+1)
self.search(nums,sub,index+1)