leetcode subsets python

用DFS实现,两个要点,一是控制每次遍历列表时的范围,二是要把遍历的每个值加到临时列表。

DFS的返回可以由遍历结束来控制。

递归:在递归调用之前的部分称作递,调用之后的部分称作归。

class Solution(object):
    def subsets(self, nums):
        """
        :type nums: List[int]
        :rtype: List[List[int]]
        """      
        def dfs(n,tmp):
            res.append(tmp)

            for i in range(n,e):
                dfs(i+1,tmp+[nums[i]])
          
        res=[]
        e=len(nums)
        dfs(0,[])
        return res

你可能感兴趣的:(python)