从上往下打印二叉树(二叉树分层用队列)
2019-03-19 13:42
127 查看
版权声明:如需转载,请写明出处 https://blog.csdn.net/weixin_43113679/article/details/88660450
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; /** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } */ public class Solution { public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) { ArrayList<Integer> list = new ArrayList<Integer>(); Queue<TreeNode> queue = new LinkedList<TreeNode>(); if(root!=null){ queue.offer(root); } while(queue.size()>0){ TreeNode t1 =queue.poll(); if(t1.left!=null){ queue.offer(t1.left); } if(t1.right!=null){ queue.offer(t1.right); } list.add(t1.val); } return list; } }
这种层次打印二叉树可以借助队列的poll()弹出队首,获取当前的值添加进集合里,判断是否有左子代和右子代,用offer()添加进队列,因为队列是先进先出,所以肯定是这一层的值添加完才进入到下一层
从这看大神的代码秀,不同的语言基本上都有
相关文章推荐
- 剑指offer——面试题23:从上往下打印二叉树(树的递归创建,广度优先搜索,队列)
- 从上往下分层打印二叉树
- 从上往下打印二叉树(分层遍历)
- 从上往下打印二叉树(剑指offer)+队列的应用
- 从上往下打印二叉树
- 从上往下打印出二叉树的每个节点,同层节点从左至右打印。
- 剑指offer 从上往下打印出二叉树的每个节点
- 牛客网-剑指offer-22-从上往下打印二叉树
- 【剑指Offer】:从上往下打印二叉树
- 从上往下打印二叉树
- 剑指offer题解 从上往下打印二叉树
- 剑指Offer(22)______从上往下打印二叉树
- 分层打印二叉树
- 九度 题目1523:从上往下打印二叉树
- 【剑指offer系列】 从上往下打印二叉树___23
- 从上往下打印二叉树
- 1、从上往下打印出二叉树的每个节点,同层节点从左至右打印
- 剑指offer:从上往下打印二叉树
- 从上往下打印出二叉树的每个节点,同层节点从左至右打印。
- 剑指offer-07-从上往下打印出二叉树的每个节点,同层节点从左至右打印。