剑指Offer——从上到下打印二叉树(JS实现) |刷题打卡

前言

掘金团队号上线,助你 Offer 临门! 点击 查看详情

题目描述

剑指Offer——从上到下打印二叉树(JS实现) |刷题打卡

解题思路

  • 使用队列的思想来进行层次遍历
  • 数组队列存储当前节点的左右指针,然后将队头清除,知道队列中的所有元素都被清空。

解题代码

var levelOrder = function (root) {
    if (root === null) return [];
    const result = [];
    const pointer = [root];
    while (pointer.length !== 0) {

        result.push(pointer[0].val);
        if (pointer[0].left !== null) {
            pointer.push(pointer[0].left);
        }
        if (pointer[0].right !== null) {
            pointer.push(pointer[0].right);
        }
        pointer.shift();
    }
    return result;
};

作者:Always_positive
链接:https://juejin.cn/post/6948617192048951332
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

总结

  • 本题属于二叉树的层次遍历问题
  • 核心点在于使用队列来存储当前节点的左右子节点。
  • 队列的判断条件是队头元素是否存在。
上一篇:IDDD 实现领域驱动设计-CQRS(命令查询职责分离)和 EDA(事件驱动架构)


下一篇:基于传统负载均衡实例CLB和命令行接口CLI搭建跨可用区的高可用集群系统