从上到下打印二叉树

题目描述:从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。

从上到下打印二叉树 I

题目链接
在这里插入图片描述
分析:
主要利用的是队列先进先出的特点,首先将根节点放入到队列中,然后每次的取出队首(front)的节点,对队首节点进行取值、判断是否有字节点的操作

具体步骤

  • 判断所给的二叉树是否为空
    • 若为空,则直接返回空数组
    • 若不为空,则首先初始化一个存放节点的队列(其实是数组)和一个存放结果的数组,另外将根节点放入到队列中
    • 当对列不为空时,反复执行以下操作
      • 从队列中取出队首节点,并将其值放入结果数组中
      • 判断队首节点是否有左右子节点,如果有则将其放入到队列中

代码实现

var levelOrder = function (root) {
   
  if (!root) {
   
    return [];
  }

  let queue = [root],
    result = [];

  while(queue.length !== 0) {
   
    let front = queue.shift();
    result.push(front.val);
    if (front
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值