102. Binary Tree Level Order Traversal
Tags:
Medium
Skills:
Tree
June 24, 2025
04:32 AM
No headings found
Loading content...
Related Posts
Leetcode
No headings found
Related Posts
Leetcode
Problem
Bài toán yêu cầu duyệt binary tree theo từng tầng (level order), nghĩa là in ra các node từ trái → phải, từng tầng 1. Kết quả trả về là một mảng 2 chiều, mỗi mảng con là các giá trị node ở cùng một tầng
Approach
Time and space complexity
Solution
1/**
2 * Definition for a binary tree node.
3 * class TreeNode {
4 * val: number
5 * left: TreeNode | null
6 * right: TreeNode | null
7 * constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
8 * this.val = (val===undefined ? 0 : val)
9 * this.left = (left===undefined ? null : left)
10 * this.right = (right===undefined ? null : right)
11 * }
12 * }
13 */
14
15function levelOrder(root: TreeNode | null): number[][] {
16 if(!root) return []
17
18 let res: number[][] = [];
19 const queue: (TreeNode | null)[] = [root];
20 while (queue.length > 0) {
21 const level_size = queue.length;
22 const curr_level: number[] = [];
23 for (let i = 0; i < level_size; i++) {
24 const node = queue.shift()!;
25 curr_level.push(node.val);
26 if (node.left) queue.push(node.left);
27 if (node.right) queue.push(node.right);
28 }
29 res.push(curr_level)
30 }
31 return res
32};