Skip to content

Commit 079977d

Browse files
authored
Create 102. Binary Tree Level Order Traversal
1 parent 2014ce3 commit 079977d

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed
+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
class Solution {
2+
public List<List<Integer>> levelOrder(TreeNode root) {
3+
List<List<Integer>> result = new ArrayList<>();
4+
if(root == null) return result;
5+
6+
Queue<TreeNode> q = new LinkedList<>();
7+
q.offer(root);
8+
9+
while(!q.isEmpty()) {
10+
int size = q.size();
11+
List<Integer> currLevel = new ArrayList<>();
12+
while(size-- > 0) {
13+
TreeNode curr = q.poll();
14+
currLevel.add(curr.val);
15+
if(curr.left != null) q.offer(curr.left);
16+
if(curr.right != null) q.offer(curr.right);
17+
}
18+
result.add(currLevel);
19+
}
20+
return result;
21+
}
22+
}
23+
24+
class Solution {
25+
List<List<Integer>> result;
26+
public List<List<Integer>> levelOrder(TreeNode root) {
27+
result = new ArrayList<>();
28+
if(root ==null) return result;
29+
traverse(root, 0);
30+
return result;
31+
}
32+
33+
private void traverse(TreeNode node, int level) {
34+
if(node == null) return;
35+
if(result.size() == level){
36+
result.add(new ArrayList<>());
37+
}
38+
39+
result.get(level).add(node.val);
40+
traverse(node.left, level+1);
41+
traverse(node.right, level+1);
42+
43+
}
44+
}

0 commit comments

Comments
 (0)