Skip to content

Commit 7f78184

Browse files
committed
Binary Tree Level Order Traversal
1 parent be7b1c8 commit 7f78184

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// TC: O(n)
2+
// need to visit all nodes
3+
// SC: O(n)
4+
// normally O(log n) required however, O(n) in the worst case
5+
class Solution {
6+
private List<List<Integer>> output = new ArrayList<>();
7+
public List<List<Integer>> levelOrder(TreeNode root) {
8+
dsf(0, root);
9+
return output;
10+
}
11+
12+
private void dsf(int level, TreeNode node) {
13+
if (node == null) return;
14+
15+
if (output.size() == level) {
16+
List<Integer> inside = new ArrayList<>();
17+
inside.add(node.val);
18+
output.add(inside);
19+
} else {
20+
output.get(level).add(node.val);
21+
}
22+
level += 1;
23+
dsf(level, node.left);
24+
dsf(level, node.right);
25+
}
26+
}

0 commit comments

Comments
 (0)