File tree 1 file changed +44
-0
lines changed
1 file changed +44
-0
lines changed Original file line number Diff line number Diff line change
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
+ }
You can’t perform that action at this time.
0 commit comments