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

从上往下打印二叉树

题目描述

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


思路

  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;

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容