package com.my.java.suanfa.treeNode;
import java.util.LinkedList;
import java.util.Queue;
public class MyTreeNodeTest {
public static void main(String[] args) {
MyTreeNode2 head7 = new MyTreeNode2(7,null,null);
MyTreeNode2 head4 = new MyTreeNode2(4,null,null);
MyTreeNode2 head5 = new MyTreeNode2(5,null,null);
MyTreeNode2 head6 = new MyTreeNode2(6,head7,null);
MyTreeNode2 head = new MyTreeNode2(1,head4,head5);
MyTreeNode2 head3 = new MyTreeNode2(2,head6,null);
MyTreeNode2 head2 = new MyTreeNode2(3,head,head3);
cengci(head2);
}
public static void cengci(MyTreeNode2 head) {
Queue queue = new LinkedList<>();
if (head == null) {
return;
}
queue.offer(head);
int nextCount = 1;
int count = 0;
StringBuffer stringBuffer = new StringBuffer();
while (!queue.isEmpty()) {
MyTreeNode2 pop = ((LinkedList) queue).pop();
count ++;
stringBuffer.append(pop.value);
if (pop.left != null) {
queue.offer(pop.left);
}
if (pop.right != null) {
queue.offer(pop.right);
}
//已经弹出来的数量 == 下一个等级的节点数量,说明当前层次遍历完了
if (count == nextCount) {
count = 0;
nextCount = queue.size();
System.out.println(stringBuffer.toString());
stringBuffer = new StringBuffer();
}
}
}
}