您的位置:首页 > 职场人生

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

2017-01-19 15:22 423 查看

题目描述:从上往下打印出二叉树的每个结点,同一层的结点按照从左向右的顺序打印。、

题目分析:可以使用队列,先把根结点放入到队列中,然后取出头结点,将其左孩子和右孩子放入到队列中,队列是先进先出的特性,然后再从队列中取数据,以此类推

//从上往下打印二叉树
public static void printTreeFromTopToBottom(BinaryTreeNode root) {
if (root != null) {
Queue<BinaryTreeNode> queue = new LinkedList<>();//使用队列来存放还未处理的结点
queue.add(root);
BinaryTreeNode temp;
while (!queue.isEmpty()) {
temp = queue.remove();//每次都是获取的最先插入的结点
System.out.print(temp.value + "  ");
if (temp.left != null) {//将输出过的结点的左孩子插入队列尾部
queue.add(temp.left);
}
if (temp.right != null) {//将输出过的结点的右孩子插入队列尾部
queue.add(temp.right);
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  面试题