java层次遍历建立二叉树,java 层次遍历二叉树

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);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值