1.DFS
class Solution: def maxDepth(self, root: 'Node') -> int: if not root: return 0 return 1+max([self.maxDepth(c) for c in root.children],default=0)
2.BFS
class Solution: def maxDepth(self, root: 'Node') -> int: if not root: return 0 now,level=[root],1 while now: now=[child for leaf in now for child in leaf.children if child] level+=1 if now else 0 return level