剑指offer面试题23-从上往下打印二叉树

来源:互联网 发布:云计算和大数据 编辑:程序博客网 时间:2024/06/05 05:44

题目:

 从上往下打印出二叉树的每个节点,每一层的节点展昭从左到右的顺序打印。



就是树的广度遍历。

用队列,把树的子节点放到队列中。



public class BinaryTreeNode {Integer value;BinaryTreeNode left;BinaryTreeNode right;public BinaryTreeNode(Integer value) {this.value = value;}@Overridepublic String toString() {return "BinaryTreeNode [value=" + value + "]";}}


/** * 从上往下打印出二叉树的每个节点,每一层的节点展昭从左到右的顺序打印。<br/> * 即树的广度遍历 * */public class PrintFromTopToBottom {public void print(BinaryTreeNode root) {if (root == null) {return;}BinaryTreeNode current = root;Queue<BinaryTreeNode> children = new LinkedList<BinaryTreeNode>();while (current != null) {System.out.println(current);if (current.left != null) {children.offer(current.left);}if (current.right != null) {children.offer(current.right);}if (children.isEmpty()) {break;} else {current = children.poll();}}}}





0 0
原创粉丝点击