public class Tree {
//头节点
private Nodehead;
public NodegetHead() {
return head;
}
public void setHead(Node head) {
this.head = head;
}
/**
* 层遍历
* @param head 头节点
*/
public void floorPrint(Node head){
//创建一个队列
List queue=new LinkedList();
queue.add(head);
//队列不是空的,就一直循环
while(!queue.isEmpty()){
Node n = ((LinkedList)queue).pop();
//打印元素值
System.out.println(n.getValue());
if(Objects.nonNull(n.getLeft())){
queue.add(n.getLeft());
}
if(Objects.nonNull(n.getRight())){
queue.add(n.getRight());
}
}
}
public static void main(String[] args){
Node head =new Node("a");
Node son1 =new Node("b");
Node son2 =new Node("c");
head.setLeft(son1);
head.setRight(son2);
Node son3 =new Node("d");
Node son4 =new Node("e");
son1.setLeft(son3);
son1.setRight(son4);
Node son5 =new Node("f");
Node son6 =new Node("g");
son2.setLeft(son5);
son2.setRight(son6);
Tree t =new Tree();
t.floorPrint(head);
}
}