Leetcode 78. 子集

注意的点:
1、也是和组合一样通过控制starti来控制visited,唯一不同的就是收集路径的位置
解法:回溯
class Solution:def subsets(self, nums: List[int]) -> List[List[int]]:res, path = [], []# 回溯,用starti控制visiteddef dfs(alist, starti):nonlocal res, pathres.append(path[:])if not alist:returnfor i in range(starti, len(alist)):path.append(alist[i])dfs(alist[:i] + alist[i+1:], i)path.pop()dfs(nums, 0)return res
