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

简介: 剑指Offer——从上到下打印二叉树(JS实现)

题目描述

image.png

解题思路

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

解题代码

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/6948663617654882312
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

总结

  • 本题属于二叉树的层次遍历问题
  • 核心点在于使用队列来存储当前节点的左右子节点。
  • 队列的判断条件是队头元素是否存在。
相关文章
|
2月前
|
存储 JSON JavaScript
「offer来了」保姆级巩固你的js知识体系(4.0w字)
该文章提供了JavaScript知识体系的全面复习资料,覆盖了从基础语法到高级特性如闭包、原型链、异步编程等多个方面,并通过大量的面试题和实例代码帮助巩固理解。
「offer来了」保姆级巩固你的js知识体系(4.0w字)
|
4月前
|
算法 JavaScript
JS 【详解】二叉树(含二叉树的前、中、后序遍历技巧和算法实现)
JS 【详解】二叉树(含二叉树的前、中、后序遍历技巧和算法实现)
48 0
|
6月前
|
JavaScript 前端开发
剑指 Offer 31. 栈的压入、弹出序列 (javascript实现)
剑指 Offer 31. 栈的压入、弹出序列 (javascript实现)
|
6月前
|
存储 算法 JavaScript
JS算法-二叉树的后序遍历
JS算法-二叉树的后序遍历
|
6月前
|
算法 JavaScript
JS算法-二叉树的前序遍历
JS算法-二叉树的前序遍历
|
6月前
|
算法 JavaScript
JS算法-二叉树的右视图
JS算法-二叉树的右视图
|
6月前
|
算法 JavaScript
JS算法-二叉树展开转为链表
JS算法-二叉树展开转为链表
|
6月前
|
JavaScript 前端开发
JavaScript题解剑指offer : 09. 用两个栈实现队列
JavaScript题解剑指offer : 09. 用两个栈实现队列
42 0
|
JavaScript 前端开发 程序员
《剑指 Offer(第 2 版)》树部分JavaScript题解
《剑指 Offer(第 2 版)》树部分JavaScript题解
《剑指 Offer(第 2 版)》树部分JavaScript题解
|
存储 算法 JavaScript
JS算法之二叉树、二叉搜索树
1. 知识点简讲 • 树在前端开发中的应用场景 • 二叉树深度优先遍历 递归和迭代的JS版本 2. 二叉树相关算法 3. 二叉搜索树(BST)相关算法