From 51decd23bd09a373e8a37d0115d2384f34bd0db1 Mon Sep 17 00:00:00 2001 From: Prad Nukala Date: Fri, 4 Sep 2026 11:33:15 -0400 Subject: [PATCH] docs(docs): add documentation for Binary Tree Level Order Traversal (LeetCode 102) --- .../102-binary-tree-level-order-traversal.mdx | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 apps/docs/content/(tree)/102-binary-tree-level-order-traversal.mdx diff --git a/apps/docs/content/(tree)/102-binary-tree-level-order-traversal.mdx b/apps/docs/content/(tree)/102-binary-tree-level-order-traversal.mdx new file mode 100644 index 0000000..3f09114 --- /dev/null +++ b/apps/docs/content/(tree)/102-binary-tree-level-order-traversal.mdx @@ -0,0 +1,61 @@ +--- +title: '102. Binary Tree Level Order Traversal' +description: Given the root of a binary tree, return the level order traversal of its nodes' values. (i.e., from left to right, level by level) +sidebar: + label: 'Binary Tree Level Order Traversal' + badge: 'Medium' +--- + +Tree BFS + +### Example 1: +- Input: `root = [3,9,20,null,null,15,7]` +- Output: `[[3],[9,20],[15,7]]` + +### Example 2: +- Input: `root = [1]` +- Output: `[[1]]` + +### Example 3: +- Input: `root = []` +- Output: `[]` + +### Constraints: + +- The number of nodes in the tree is in the range [0, 2000]. +- `-1000 <= Node.val <= 1000` + +## Solution + +```py +# Definition for a binary tree node. +# class TreeNode: +# def __init__(self, val=0, left=None, right=None): +# self.val = val +# self.left = left +# self.right = right +from collections import deque + + +class Solution: + # T: O(n) S: O(n) + def levelOrder(self, root: Optional[TreeNode]) -> List[List[int]]: + res = [] + + q = deque() + q.append(root) + + while q: + qLen = len(q) + level = [] + for i in range(qLen): + node = q.popleft() + if node: + level.append(node.val) + q.append(node.left) + q.append(node.right) + if level: + res.append(level) + + return res +```