簡體   English   中英

為什么list.append不能在python的DFS算法中工作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM