File tree Expand file tree Collapse file tree
binary-tree-level-order-traversal Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ from collections import deque
2+ # 102. Binary Tree Level Order Traversal
3+ class Solution :
4+ def levelOrder (self , root : Optional [TreeNode ]) -> List [List [int ]]:
5+ # 1. Edge Case: Empty Tree
6+ if not root :
7+ return []
8+
9+ result = []
10+ queue = deque ([root ])
11+
12+ while queue :
13+ # 2. Capture the number of nodes at the current level
14+ level_size = len (queue )
15+ current_level_nodes = []
16+
17+ for _ in range (level_size ):
18+ current_node = queue .popleft ()
19+ current_level_nodes .append (current_node .val )
20+
21+ # 3. Add children to the queue for the NEXT level
22+ if current_node .left :
23+ queue .append (current_node .left )
24+ if current_node .right :
25+ queue .append (current_node .right )
26+
27+ # Add the finished level to our result
28+ result .append (current_level_nodes )
29+
30+ return result
You can’t perform that action at this time.
0 commit comments