美文网首页
《剑指offer第二版》面试题32:从上到下打印二叉树(java

《剑指offer第二版》面试题32:从上到下打印二叉树(java

作者: castlet | 来源:发表于2020-04-12 12:24 被阅读0次

题目描述

从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。

解题思路:

  1. 定义一个辅助队列queue
  2. 先将根节点入队。再开始对队列进行出队操作,并打印出该节点。每次出队的时候,就将出队的节点的左右节点分别入队,如此循环。

代码

void printFormTopToBottom(TreeNode root){
    if (root == null) {
        return;
    }
    Queue<TreeNode> queue = new LinkedList<>();
    queue.offer(root); // 根节点入队
    while (!queue.isEmpty()) {
        // 从队里里拿出一个节点的时候,将这个节点的左右子树分别入队。
        TreeNode tmp = queue.poll();
        if (tmp.left != null) {
            queue.offer(tmp.left);
        }
        if (tmp.right != null) {
            queue.offer(tmp.right);
        }
        System.out.print(tmp.value);
    }
}

相关文章

网友评论

      本文标题:《剑指offer第二版》面试题32:从上到下打印二叉树(java

      本文链接:https://www.haomeiwen.com/subject/zuuvmhtx.html