Binary Tree Level Order Traversal II LeetCode solution in Java

1
/**
2
* Definition for a binary tree node. public class TreeNode { int val; TreeNode left; TreeNode
3
* right; TreeNode() {} TreeNode(int val) { this.val = val; } TreeNode(int val, TreeNode left,
4
* TreeNode right) { this.val = val; this.left = left; this.right = right; } }
5
*/
6
class Solution {
7
public List<List<Integer>> levelOrderBottom(TreeNode root) {
8
Queue<TreeNode> al = new LinkedList<>();
9
List<List<Integer>> fal = new LinkedList<>();
10
if (root == null) return fal;
11
al.offer(root);
12
while (!al.isEmpty()) {
13
List<Integer> aal = new LinkedList<>();
14
int num = al.size();
15
for (int i = 0; i < num; i++) {
16
if (al.peek().left != null) {
17
al.offer(al.peek().left);
18
}
19
if (al.peek().right != null) {
20
al.offer(al.peek().right);
21
}
22
aal.add(al.poll().val);
23
}
24
fal.add(0, aal);
25
}
26
return fal;
27
}
28
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0