Skip to content

Commit 4a07830

Browse files
committed
Java solution 102
1 parent e5aca26 commit 4a07830

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
import java.util.ArrayList;
2+
import java.util.List;
3+
4+
/**
5+
* Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).
6+
* <p>
7+
* For example:
8+
* Given binary tree [3,9,20,null,null,15,7],
9+
* 3
10+
* / \
11+
* 9 20
12+
* / \
13+
* 15 7
14+
* <p>
15+
* return its level order traversal as:
16+
* [
17+
* [3],
18+
* [9,20],
19+
* [15,7]
20+
* ]
21+
* <p>
22+
* Created by drfish on 29/05/2017.
23+
*/
24+
public class _102BinaryTreeLevelOrderTraversal {
25+
public List<List<Integer>> levelOrder(TreeNode root) {
26+
List<List<Integer>> result = new ArrayList<>();
27+
List<TreeNode> curr = new ArrayList<>();
28+
29+
30+
if (root == null) {
31+
return result;
32+
}
33+
curr.add(root);
34+
35+
while (!curr.isEmpty()) {
36+
List<TreeNode> next = new ArrayList<>();
37+
List<Integer> level = new ArrayList<>();
38+
for (TreeNode node : curr) {
39+
if (node.left != null) {
40+
next.add(node.left);
41+
}
42+
if (node.right != null) {
43+
next.add(node.right);
44+
}
45+
level.add(node.val);
46+
}
47+
result.add(level);
48+
curr = next;
49+
}
50+
return result;
51+
}
52+
}

0 commit comments

Comments
 (0)