每日一题---剑指 Offer 32 - II. 从上到下打印二叉树 II[力扣][Go]

简介: 每日一题---剑指 Offer 32 - II. 从上到下打印二叉树 II[力扣][Go]

题目描述

从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。

解题代码

// 逐层打印
func levelOrder(root *TreeNode) [][]int {
  var sum [][]int
  queue := list.New()
  if root != nil {
    // 将根节点入队
    queue.PushBack(root)
  }
  for queue.Len() != 0  {
    var tem []int
    size := queue.Len()
    // 每层需要出站的个数
    for  ; size >0 ; size-- {
      // 获取头结点
      e := queue.Front()
      tre := e.Value.(*TreeNode)
      tem = append(tem, tre.Val)
      // 移除头结点
      queue.Remove(e)
      // 将节点的左右节点入队
      if tre.Left != nil {
        queue.PushBack(tre.Left)
      }
      if tre.Right != nil {
        queue.PushBack(tre.Right)
      }
    }
    sum = append(sum, tem)
  }
  return sum
}

提交结果


相关文章
|
12天前
【LeetCode 31】104.二叉树的最大深度
【LeetCode 31】104.二叉树的最大深度
12 2
|
12天前
【LeetCode 29】226.反转二叉树
【LeetCode 29】226.反转二叉树
12 2
|
12天前
【LeetCode 28】102.二叉树的层序遍历
【LeetCode 28】102.二叉树的层序遍历
10 2
|
12天前
【LeetCode 43】236.二叉树的最近公共祖先
【LeetCode 43】236.二叉树的最近公共祖先
10 0
|
12天前
【LeetCode 38】617.合并二叉树
【LeetCode 38】617.合并二叉树
8 0
|
12天前
【LeetCode 37】106.从中序与后序遍历构造二叉树
【LeetCode 37】106.从中序与后序遍历构造二叉树
9 0
|
12天前
【LeetCode 34】257.二叉树的所有路径
【LeetCode 34】257.二叉树的所有路径
8 0
|
12天前
【LeetCode 32】111.二叉树的最小深度
【LeetCode 32】111.二叉树的最小深度
10 0
|
2月前
|
存储 算法
二叉树进阶-学会层序遍历助你一次刷完leetcode10道题
文章深入探讨了二叉树的层序遍历方法,并展示了如何通过队列实现层序遍历的算法逻辑,同时指出掌握层序遍历技巧可以帮助解决LeetCode上的多道相关题目。
二叉树进阶-学会层序遍历助你一次刷完leetcode10道题
|
2月前
|
算法 Java
LeetCode第94题二叉树的中序遍历
文章介绍了LeetCode第94题"二叉树的中序遍历"的解法,使用递归实现了中序遍历的过程,遵循了"左根右"的遍历顺序,并提供了清晰的Java代码实现。
LeetCode第94题二叉树的中序遍历