剑指Offer------从上往下打印二叉树(层序遍历)
2017-10-04 12:34
525 查看
题目描述
从上往下打印出二叉树的每个节点,同层节点从左至右打印。<分析>
借助一个队列即可解决
import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; /** * * @author zy * @date 2017年10月4日 上午11:29:30 * @Decription 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 */ public class Ex15 { class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) { ArrayList<Integer> result = new ArrayList<>(); if (root==null) { return result; } Queue<TreeNode> queue = new LinkedList<>(); //根结点进队 queue.offer(root); while(!queue.isEmpty()){ //队列头出队 TreeNode treeNode = queue.poll(); //左子结点不为空则进队 if (treeNode.left!=null) { queue.offer(treeNode.left); } //右子结点不为空则进队 if (treeNode.right!=null) { queue.offer(treeNode.right); } result.add(treeNode.val); } return result; } }
相关文章推荐
- 剑指Offer----面试题23:从上往下打印二叉树(层序遍历)
- 剑指offer--从上往下打印二叉树--层次遍历、广度优先搜索
- 剑指Offer--023-从上往下打印二叉树(层次遍历二叉树)
- 剑指 offer:从上到下打印二叉树(层序遍历)
- 剑指Offer-->从上向下打印二叉树(层序遍历 + 详解)
- 剑指offer:从上往下打印二叉树(层遍历二叉树)
- 剑指Offer_面试题23_从上到下打印二叉树(层序遍历)
- 剑指Offer面试题22栈的压入弹出序列,面试题23从上到下打印二叉树(层序遍历用队列)
- 【剑指 offer】(二十三)—— 从上往下打印二叉树(或曰层次遍历、广度优先遍历)
- 剑指offer面试题23:从上到下打印二叉树(树的层序遍历)
- 剑指offer面试题[23]-从上往下打印二叉树(按层序打印)
- 剑指Offer:面试题23 从上往下打印二叉树
- 程序9——层序遍历二叉树(从上往下打印二叉树)
- 剑指offer_面试题_从上往下打印二叉树
- 剑指Offer-从上往下打印二叉树
- (树的层序遍历)从上往下打印出二叉树的每个节点,同层节点从左至右打印。
- 剑指offer: 从上往下打印二叉树(树)
- 剑指offer 从上往下打印二叉树
- 剑指offer-从上往下打印二叉树
- 【剑指offer】第三十二题(从上到下打印二叉树) 和 第三十三题(二叉搜索树的后续遍历)