LC 0339 [M] Nested List Weight Sum - ALawliet/algorithms GitHub Wiki

DFS

class Solution:
    def depthSum(self, nestedList: List[NestedInteger]) -> int:
        def dfs(item, depth):
            if item.isInteger():
                self.res += item.getInteger() * depth
            else: # is list
                for nestedItem in item.getList():
                    dfs(nestedItem, depth + 1)
                
        self.res = 0
        for item in nestedList:
            dfs(item, 1)
        return self.res