102.二叉树的层次遍历
发布日期:2021-10-12 21:31:45 浏览次数:1 分类:技术文章

本文共 333 字,大约阅读时间需要 1 分钟。

昨天刚刚第一次刷题用到了dfs,今天bfs就来了。。

dfs是按深度进行搜索的,而bfs是按宽度,也就是搜完这一次再去搜下一层,这个特性就特别适合层次遍历。先声明一个队列,由于golang中没有队列,我们可以自己声明一个queue为[]*TreeNode,然后先将根节点放进该队列中,然后就可以进行bfs了,首先先声明一个变量为队列此时的大小,这个数就代表队列在这一层有多少个数,然后循环依次把这个数添加进一个数组中,这个过程中每取出一个数就是取出一个节点,还要判断该节点是否有左右子节点,有的话放入队列中,由于队列是先进先出的,所以可以保证这个阶段进来的节点再下一次bfs中进行运算。代码如下:

 

 

java版本:

   虽然前几天刷剑指offer时碰到过,今天再来熟悉一下

  

转载地址:https://blog.csdn.net/qq_40058686/article/details/104405991 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:104.二叉树的最大深度
下一篇:101.对称二叉树

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月13日 02时41分18秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

【大话Mysql面试】-常见SQL语句书写 2019-04-26
【大话Mysql面试】-SQL语句优化 2019-04-26
【大话Mysql面试】-Mysql事务以及隔离级别 2019-04-26
【大话Mysql面试】-Mysql索引 2019-04-26
【大话Mysql面试】-Mysql锁 2019-04-26
【大话Mysql面试】-Mysql常见面试题目 2019-04-26
08 【多线程高并发】Java线程间通信的方式 2019-04-26
【数据结构与算法】什么是跳表?通俗易懂来理解跳表 2019-04-26
【数据结构与算法】什么是图?图是什么?快速带你回顾图有关的知识点 2019-04-26
【数据结构与算法】什么是串?什么是KMP算法?字符串匹配是什么? 2019-04-26
【数据结构与算法】什么是布隆过滤器?如何防止缓存穿透的问题? 2019-04-26
【Java锁体系】CopyOnWriteArrayList是什么?线程安全的arraylist是哪个? 2019-04-26
【面试题目】Java设计模式你有哪些了解?说几个常用的。 2019-04-26
【计算机操作系统】常说的死锁是什么?死锁产生的必要条件是什么?死锁的解决策略是什么? 2019-04-26
【计算机操作系统】进程管理详解?进程与线程区别是什么?进程调度的算法有哪些?进程通信有哪些? 2019-04-26
【计算机操作系统】虚拟内存是什么?分页系统地址映射?页面置换算法有哪些?分段地址映射又是什么? 2019-04-26
【计算机操作系统】设备管理?磁盘结构是怎么样的?磁盘调度算法有哪些? 2019-04-26
【多线程高并发】为什么要使用多线程?创建多少个线程合适呢? 2019-04-26
【多线程与高并发】 Java两个线程轮流打印1-100两个数?多线程轮流打印数字? 2019-04-26
Robots协议 2019-04-26