-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathMain32III.java
More file actions
31 lines (29 loc) · 941 Bytes
/
Main32III.java
File metadata and controls
31 lines (29 loc) · 941 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package JZOffer2;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;
public class Main32III {
public List<List<Integer>> levelOrder(TreeNode root) {
Queue<TreeNode> queue = new LinkedList<>();
List<List<Integer>> res = new ArrayList<>();
if(root != null) queue.add(root);
int num = 0;
while (!queue.isEmpty()){
List<Integer> tmp = new ArrayList<>();
num = (num + 1) % 2;
for(int i = queue.size(); i>0; i--){
TreeNode node = queue.poll();
if(num == 0){
tmp.add(0, node.val);
}else{
tmp.add(node.val);
}
if(node.left != null) queue.add(node.left);
if(node.right != null) queue.add(node.right);
}
res.add(tmp);
}
return res;
}
}