专栏首页面试经验贴[leetcode二叉树系列]2 二叉树的层次遍历

[leetcode二叉树系列]2 二叉树的层次遍历

本文涉及知识点 

  • 二叉树的层次遍历
  • 队列的运用

二叉树的遍历和队列的相关概念前面已经介绍,忘记了的小伙伴复习后再看效果一定翻倍哟!

二叉树知识复习:[今天给二叉树加个BGM,二叉树唱歌了!]

队列知识复习:[leetcode栈队列]1 栈实现队列

1 Leetcode102 二叉树的层次遍历

给定一个二叉树,返回其按层次遍历的节点值。(即逐层地,从左到右访问所有节点)。

示例1:

例如:
给定二叉树: [3,9,20,null,null,15,7],  3
   / \
  9  20
    /  \
   15   7返回其层次遍历结果:[
  [3],
  [9,20],
  [15,7]
]

小蓝希望大家在此思考1分钟,

效果更好哈!

01 题目解析

  • 思路

思路阐述

层次遍历,顾名思义一层一层的访问,从第一层访问到第n层,也就是先排队的同学阿姨先打饭(你要插队,你要长得乖一些?优先级队列??)。ok,这就是先进先出嘛,嘿嘿,通过前面的学习你一定就知道了需要队列了。

  • 从根节点访问,先把根节点放入队列,并记录当前层节点数。

  • 循环从队列取出元素。如果所取元素存在左右节点,将其左右节点入队。

02 动画演示

小蓝希望大家能够开开心心的学习,并能得到好的offer!也可以分享给身边朋友或者文末点个在看哟。

03 代码实现

1 c++版本

2vpython版本

3 java版本

本文分享自微信公众号 - 我是程序员小贱(Lanj1995Q),作者:Lj

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-02-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • [leetcode二叉树系列]4 对称二叉树

    二叉树的遍历和队列的相关概念前面已经介绍,忘记了的小伙伴复习后再看效果一定翻倍哟!

    我是程序员小贱
  • [leetcode二叉树系列]5 二叉树翻转

    首先我们的目标是将节点的左右值进行交换,说到这里小伙伴可以自行想想可以使用几种方法进行交换,其效率如何,为什么?ok,回到正题,这道题同样是交换,我们交换两个节...

    我是程序员小贱
  • [leetcode二叉树系列]3 二叉树的最大深度

    二叉树的遍历和队列的相关概念前面已经介绍,忘记了的小伙伴复习后再看效果一定翻倍哟!

    我是程序员小贱
  • [leetcode二叉树系列]4 对称二叉树

    二叉树的遍历和队列的相关概念前面已经介绍,忘记了的小伙伴复习后再看效果一定翻倍哟!

    我是程序员小贱
  • 「leetcode二叉树系列」4 对称二叉树

    二叉树的遍历和队列的相关概念前面已经介绍,忘记了的小伙伴复习后再看效果一定翻倍哟!

    小林coding
  • 关于二叉树,你该了解这些!

    说道二叉树,大家对于二叉树其实都很熟悉了,本文呢我也不想教科书式的把二叉树的基础内容在啰嗦一遍,所以一下我讲的都是一些比较重点的内容。

    代码随想录
  • 数据结构严书习题6.65已知前中序,求二叉链表

    已知一棵二叉树的前序序列和中序序列分别存于两个一维数组中,试编写算法建立该二叉树的二叉链表。

    glm233
  • [leetcode二叉树系列]3 二叉树的最大深度

    二叉树的遍历和队列的相关概念前面已经介绍,忘记了的小伙伴复习后再看效果一定翻倍哟!

    我是程序员小贱
  • 面试官:来,手写一个赫夫曼树

    shengjk1
  • 现在告诉你MySQL为什么选择B+Tree呢?

    大家都知道MySQL数据库选择的是B+Tree作为索引的数据结构,那为什么会选择B+Tree呢?

    田维常

扫码关注云+社区

领取腾讯云代金券