[英]why list.append cannot work in DFS algorithm in python
不確定問題所在,因此可能會在標題中產生誤導。 這個問題來自 LC 77。下面是我的代碼,但它返回 TypeError:“NoneType”類型的 object 沒有 len()。 但是,如果我將 path.append(lis[i]) 更改為 path + [[lis[i]],則代碼運行良好並通過了測試。 這兩者有什么區別? 謝謝!
def combine( n: int, k: int) -> List[List[int]]:
res = []
lis = [i for i in range(1,n+1)]
visited = set()
def dfs(lis, path):
if len(path) == k:
res.append(path)
return
for i in range(len(lis)):
dfs(lis[i+1:], path.append(lis[i]))
dfs(lis, [])
return res
path.append()
返回None
並就地修改path
。 您可能打算在遞歸調用dfs(lis[i+1:], path)
之前調用path.append(lis[i])
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.