创建队列
Queue queue = new LinkedList();
添加元素
queue.offer(“a”);
出队列
//返回第一个元素,并在队列中删除
queue.poll()
//返回队列头部的元素,如果队列为空,则抛出一个NoSuchElementException异常
queue.element()
//返回队列头部的元素, 如果队列为空,则返回null
queue.peek()
主要可能就用到这几个方法啦。下面来看题目
[](()题目
=================================================================
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
[](()分析
=================================================================
打印一颗二叉树,如果直接遍历打印的话,回先打印根节点->左节点->右节点。
想要按层次打印,可以依照队列来实现,从根节点依次将节点加入队列中,然后从队列中取出来达到层次打印的目的。
[](()解法
=================================================================
ArrayList list=new ArrayList<>();
if(root==null){
return list;
}
Queue queue=new LinkedList<>();
queue.offer(root);
while (!queue.isEmpty()){
TreeNode temp=queue.poll();
list.add(temp.val);
if(t 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 emp.left!=null){
queue.offer(temp.left);
}