I was doing a bit of Leetcode and do not understand why res.append(subset)
does not append the subset to res.
Could somebody explain the reason behind this?
def solve(arr):
res = []
def dfs(arr,subset):
if len(arr) == 0:
# why does the following line not append the subset to res?
res.append(subset)
for i in range(len(arr)):
subset.append(arr[i])
dfs(arr[:i] + arr[i+1:],subset)
subset.pop()
dfs(arr,[])
return res