美文网首页算法题程序员让前端飞
《剑指offer》— JavaScript(22)从上往下打印二

《剑指offer》— JavaScript(22)从上往下打印二

作者: echoVic | 来源:发表于2017-03-01 09:35 被阅读0次

    从上往下打印二叉树

    题目描述

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


    思路

    1. 借助两个辅助队列,一个用来存放结点,一个用来存放结点值;
    2. 先将根节点加入到队列中,然后遍历队列中的元素,遍历过程中,访问该元素的左右节点,再将左右子节点加入到队列中来。

    实现代码

    /* function TreeNode(x) {
        this.val = x;
        this.left = null;
        this.right = null;
    } */
    function PrintFromTopToBottom(root) {
        var queue = [];
        queue.push(root);
        var result = [];
    
        if (root == null) {
            return result;
        }
    
        while (queue.length) {
    
            var temp = queue.shift();
    
            result.push(temp.val);
    
            if (temp.left) {
                queue.push(temp.left);
            }
            if (temp.right) {
                queue.push(temp.right);
            }
        }
    
        return result;
    
    }
    

    相关文章

      网友评论

        本文标题:《剑指offer》— JavaScript(22)从上往下打印二

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