剑指offer之面试题23:从上往下打印二叉树
来源:互联网 发布:亲宝宝软件下载 编辑:程序博客网 时间:2024/05/29 16:52
题目描述
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
输入二叉树 8 / \ 6 10 / \ / \ 5 7 9 11输出 8,6,10,5,7,9,11
思路:二叉树的层次遍历
初始化队列,结点8入队,结点8出队,8的孩子结点不为空,把8的孩子结点6,10放进队列中。6出队,6的孩子结点不为空,把6的孩子结点5,7放进队列中,现在队列中为10,5,7,然后10出队,…,直到叶子结点入队,结束。
用表格的形式展现:
总结一下:每次出队,如果结点有孩子结点,则将其孩子结点入队。然后队首元素出队,循环,直到队列为空。
根据分析,写代码如下:
import java.util.ArrayList;/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}*/import java.util.Queue;import java.util.LinkedList;public class Solution { public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) { ArrayList<Integer> list=new ArrayList<Integer>(); if(root==null) return list; Queue<TreeNode> queue=new LinkedList<TreeNode>(); queue.offer(root); while(!queue.isEmpty()){ TreeNode temp=queue.poll(); list.add(temp.val); if(temp.left!=null) queue.offer(temp.left); if(temp.right!=null) queue.offer(temp.right); } return list; }}
0 0
- 剑指offer面试题 从上往下打印二叉树
- 剑指offer之面试题23:从上往下打印二叉树
- 剑指Offer之面试题23:从上往下打印二叉树
- 剑指offer面试题[23]-从上往下打印二叉树(按层序打印)
- [剑指offer][面试题23]从上往下打印二叉树
- 【剑指offer】面试题23:从上往下打印二叉树
- 《剑指offer》面试题23从上往下打印二叉树
- 剑指Offer:面试题23 从上往下打印二叉树
- 剑指offer 面试题23—从上往下打印二叉树
- 《剑指Offer》学习笔记--面试题23:从上往下打印二叉树
- 剑指offer--面试题23:从上往下打印二叉树--Java实现
- 【剑指Offer学习】【面试题23:从上往下打印二叉树】
- 剑指Offer面试题23(Java版):从上往下打印二叉树
- 剑指offer面试题23-从上往下打印二叉树
- 剑指offer代码解析——面试题23从上往下打印二叉树
- 剑指offer-面试题23:从上往下打印二叉树
- 剑指Offer----面试题23:从上往下打印二叉树(层序遍历)
- 剑指Offer:面试题23——从上往下打印二叉树(java实现)
- log4j 操作
- rapidjson的使用
- android studio常用快捷键
- 整理---从手机相册获取图片的方法
- imbue
- 剑指offer之面试题23:从上往下打印二叉树
- vijos p1233
- Spring—— Spring Core
- zoj3946 Highway Project(单源最短路径)
- Xmanager4.0注册码
- 只顾眼前者,才是大赢家 -----摘自罗辑思维
- nodejs base64编码/解码
- 有参数无返回值的函数
- iOS - 验证码,倒计时按钮