AlgoDesign

List of depths

1from collections import deque
2class Solution:
3    def listOfDepths(self, root):
4        return self.bfs(root)
5
6    def bfs(self, root):
7        queue, res = deque([root]), []
8        while queue:
9            nodesLength = len(queue)
10            curr = []
11            for _ in range(nodesLength):
12                node = queue.popleft()
13                curr.append(node)
14                if node.left: queue.append(node.left)
15                if node.right: queue.append(node.right)
16        return res