美文网首页剑指offer
22-从上往下打印二叉树-广度优先

22-从上往下打印二叉树-广度优先

作者: 马甲要掉了 | 来源:发表于2020-05-15 22:04 被阅读0次

题目描述

从上往下打印出二叉树的每个节点,同层节点从左至右打印。

思路

从下打印就是按层次打印,其实也就是树的广度遍历。
一般来说树的广度遍历用队列,利用先进先出的特点来保存之前节点,并操作之前的节点。
树的深度遍历一般来说用栈或者递归,利用先进后出的特点来保存之前节点,把之前的节点留到后面操作。

代码如下:

/* function TreeNode(x) {
    this.val = x;
    this.left = null;
    this.right = null;
} */
function PrintFromTopToBottom(root)
{
    // write code here
    let queue = [];
    let res = [];
    if (root == null) {
        return res;
    }
    queue.push(root);
    
    while(queue.length){
        let sroot = queue.shift();
        if(sroot.left!=null){
            queue.push(sroot.left);
        }
        if(sroot.right!=null){
            queue.push(sroot.right);
        }
        res.push(sroot.val)
    }
    return res;
}

相关文章

  • 剑指offer----从上网下打印二叉树

    题目:从上往下打印出二叉树的每个节点,同层节点从左至右打印。 二叉树的广度优先遍历----队列实现二叉树的深度优先...

  • 22-从上往下打印二叉树-广度优先

    题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 思路 从下打印就是按层次打印,其实也就是树的广度...

  • 22:从上往下打印二叉树

    题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 解题思路 广度优先搜索即可。 AC代码

  • 面试题32:从上到下打印二叉树

    题目描述: 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 解题思路: 广度优先搜索,采用队列(按照层为单...

  • JZ-022-从上往下打印二叉树

    从上往下打印二叉树 题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。题目链接: 从上往下打印二叉树...

  • 二叉树的遍历

    从上往下打印二叉树 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 按之字形顺序打印二叉树 请实现一个函数...

  • 从上往下打印二叉树

    题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 思路 使用宽度优先搜索层次遍历整个二叉树。利用队...

  • 五、树的遍历

    1、层次遍历,广度优先遍历 要遍历二叉树,我们得有一个规则,按照从上往下,从左往右的顺序遍历二叉树,这样的遍历就叫...

  • 23 从上到下遍历二叉树 树的层次遍历

    从上往下打印二叉树 题目描述: 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 解题思路: 经典题目,树的...

  • 剑指offer(Java版)day05:从上往下打印二叉树|二叉

    1从上往下打印二叉树 【题目】从上往下打印出二叉树的每个节点,同层节点从左至右打印。 【考察点】举例让抽象具体...

网友评论

    本文标题:22-从上往下打印二叉树-广度优先

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