Skip to content

Commit 252ec00

Browse files
committed
Added levelOrder solution
1 parent 05600ca commit 252ec00

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
var levelOrder = function (root) {
2+
// Edge case: If root is null, return []
3+
if (root === null) return [];
4+
5+
// Create result and queue
6+
let result = [];
7+
let queue = [root];
8+
9+
// Iterate while queue.length is exist
10+
while (queue.length) {
11+
// Create levelArr and levelSize
12+
let levelArr = [];
13+
let levelSize = queue.length;
14+
// Initiate currentNode from queue by using shift method
15+
while (levelSize) {
16+
const currentNode = queue.shift();
17+
levelArr.push(currentNode.val);
18+
// If currentNode.left is not null, push into the queue
19+
if (currentNode.left) queue.push(currentNode.left);
20+
// If currentNode.right is not null, push into the queue
21+
if (currentNode.right) queue.push(currentNode.right);
22+
23+
levelSize--;
24+
}
25+
// Push levelArr into result
26+
result.push(levelArr);
27+
}
28+
return result;
29+
};
30+
31+
// TC: O(n)
32+
// SC: O(n)

0 commit comments

Comments
 (0)