剑指Offer之从上往下打印二叉树
2018-03-10 09:10
309 查看
题目描述
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
思路:
此题又叫层序打印二叉树,不同于前序,中序,后序的是,层序使用的是非递归算法,核心思想是:
1、设置辅助队列,根节点入队;
2、每次出队一个元素,判断出队的元素是否存在左右子树,若存在,则左右子树入队;
3、循环出队直至队空。
贴代码:
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
思路:
此题又叫层序打印二叉树,不同于前序,中序,后序的是,层序使用的是非递归算法,核心思想是:
1、设置辅助队列,根节点入队;
2、每次出队一个元素,判断出队的元素是否存在左右子树,若存在,则左右子树入队;
3、循环出队直至队空。
贴代码:
/* 每个结点入队,出队的时候其子结点入队,直到队空 */ public class Solution { public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) { //空树时 ArrayList<Integer> list = new ArrayList<>(); if(root == null){ return list; } Queue<TreeNode> queue = new LinkedList<>(); queue.offer(root);//根节点入队 while(!queue.isEmpty()){//循环出队 TreeNode temp = queue.poll(); //判断左右子树是否存在 if(temp.left != null){ queue.offer(temp.left); } if(temp.right != null){ queue.offer(temp.right); } list.add(temp.val); } return list; } }
相关文章推荐
- 【剑指Offer】:从上往下打印二叉树
- 剑指offer-从上往下打印二叉树
- 【剑指offer 面试题23】从上往下打印二叉树
- 剑指offer-题23:从上往下打印二叉树
- 【剑指offer】4.3举例让抽象问题具体化——面试题23:从上往下打印二叉树
- 【剑指offer】面试题32(1):从上往下不分行打印二叉树
- 剑指offer:从上往下打印二叉树
- 剑指offer-面试题23-从上往下打印二叉树
- 剑指Offer之 - 从上往下打印二叉树
- 剑指offer:从上往下打印二叉树
- 【剑指Offer面试题】 九度OJ1523:从上往下打印二叉树
- 剑指Offer面试题23(Java版):从上往下打印二叉树
- 【剑指offer】从上往下打印二叉树
- 剑指offer(22)—从上往下打印二叉树
- 【剑指offer】数据结构 ——从上往下打印二叉树
- 剑指offer--从上往下打印二叉树
- 牛客网-剑指offer-22-从上往下打印二叉树
- 剑指offer代码解析——面试题23从上往下打印二叉树
- 剑指offer 23 - 从上往下打印二叉树
- 剑指offer_二叉树---从上往下打印二叉树