107. Binary Tree Level Order Traversal II [JavaScript]

本文介绍了一种解决二叉树自下而上层次遍历问题的算法,通过队列实现从叶到根逐级排列的节点值遍历。适用于深入理解二叉树层次遍历的不同方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、题目

  Given a binary tree, return the bottom-up level order traversal of its nodes’ values. (ie, from left to right, level by level from leaf to root)。

二、题目大意

  给定二叉树,返回其节点值的自下而上的顺序遍历。(即从左到右,从叶到根逐级排列)。

三、解题思路

  使用队列的思想。

四、代码实现
const levelOrderBottom = root => {
  if (!root) {
    return []
  }
  const queue = [root]

  const ans = []

  while (queue.length) {

    const temp = []
    const size = queue.length

    for (let i = 0; i < size; i++) {
      const item = queue.pop()

      if (item) {
        temp.push(item.val)

        if (item.left) {
          queue.unshift(item.left)
        }
  
        if (item.right) {
          queue.unshift(item.right)
        }
      }
    }

    ans.unshift(temp)
  }

  return ans
}

  如果本文对您有帮助,欢迎关注微信公众号,为您推送更多大前端相关的内容, 欢迎留言讨论,ε=ε=ε=┏(゜ロ゜;)┛。

  您还可以在这些地方找到我:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值