# """
# This is the interface that allows for creating nested lists.
# You should not implement it, or speculate about its implementation
# """
#class NestedInteger:
# def __init__(self, value=None):
# """
# If value is not specified, initializes an empty list.
# Otherwise initializes a single integer equal to value.
# """
#
# def isInteger(self):
# """
# @return True if this NestedInteger holds a single integer, rather than a nested list.
# :rtype bool
# """
#
# def add(self, elem):
# """
# Set this NestedInteger to hold a nested list and adds a nested integer elem to it.
# :rtype void
# """
#
# def setInteger(self, value):
# """
# Set this NestedInteger to hold a single integer equal to value.
# :rtype void
# """
#
# def getInteger(self):
# """
# @return the single integer that this NestedInteger holds, if it holds a single integer
# Return None if this NestedInteger holds a nested list
# :rtype int
# """
#
# def getList(self):
# """
# @return the nested list that this NestedInteger holds, if it holds a nested list
# Return None if this NestedInteger holds a single integer
# :rtype List[NestedInteger]
# """
class Solution:
def depthSum(self, n: List[NestedInteger]) -> int:
self.ans=0
def dfs(nl, depth):
for n in nl:
if n.isInteger():
self.ans+=n.getInteger()*depth
else:
dfs(n.getList(), depth+1)
dfs(n,1)
return self.ans
'알고리즘 문제 > Leetcode' 카테고리의 다른 글
2149. Rearrange Array Elements by Sign (0) | 2023.04.17 |
---|---|
797. All Paths From Source to Target (0) | 2023.04.17 |
1490. Clone N-ary Tree (0) | 2023.04.11 |
2391. Minimum Amount of Time to Collect Garbage (0) | 2023.04.11 |
2265. Count Nodes Equal to Average of Subtree (0) | 2023.04.11 |