1 class Solution {
2 public void connect(TreeLinkNode root) {
3 if(root == null) return;
4 Queue<TreeLinkNode> queue = new LinkedList<>();
5 queue.offer(root);
6 int size = queue.size();
7 while(!queue.isEmpty()) {
8 TreeLinkNode prev = null;
9 for(int i = 0; i < size; i++) {
10 TreeLinkNode node = queue.poll();
11 if(node.left != null) { //注意不是空的再加进去 别忘了
12 queue.offer(node.left);
13 }
14 if(node.right != null) {
15 queue.offer(node.right);
16 }
17 if(i == 0) {
18 prev = node;
19 }else{
20 prev.next = node;
21 prev = node;
22 }
23 if(i == size - 1) {
24 node.next = null;
25 }
26 }
27 size = queue.size();
28 }
29 }
30 }