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

344d69c84a85bfcc2eac3c0807045139.gif


 本文涉及知识点 

  • 二叉树的层次遍历

  • 队列的运用

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

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

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

1Leetcode102 二叉树的层次遍历

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






示例1:

例如:

给定二叉树: [3,9,20,null,null,15,7],

  3
   / \
  9  20
    /  \
   15   7

返回其层次遍历结果:

[
  [3],
  [9,20],
  [15,7]
]




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

效果更好哈!

0 1题目解析
  • 思路

思路阐述

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


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

fc2ac391ec93c42a4abcc6fb4a259865.png

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

    53b65a5cde88be95942f6da4ee828efb.png



02 代码实现

1c++版本

2e52ebc5e2e30cfa0bbc590fa9b77c3b.jpeg

2python版本

b1c6e33b2422250d7be536b3f135b990.jpeg

3java版本

a9a6eff4661c7a6f059f7055b3ed6d79.jpeg




暖男告知

跟小蓝每天进步一点点,生活就会美一点!

进入算法,面试学习群,一起成长!

关注下方,回复"进群"就进入我们小分队。

c36f9bcf6ddeec68f5119c0e5ee5520a.jpeg


猜你喜欢

转载自blog.51cto.com/14984904/2545486