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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.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设计模式你有哪些了解?说几个常用的。
2019-04-26
【计算机操作系统】常说的死锁是什么?死锁产生的必要条件是什么?死锁的解决策略是什么?
2019-04-26
【计算机操作系统】设备管理?磁盘结构是怎么样的?磁盘调度算法有哪些?
2019-04-26
【多线程高并发】为什么要使用多线程?创建多少个线程合适呢?
2019-04-26
【多线程与高并发】 Java两个线程轮流打印1-100两个数?多线程轮流打印数字?
2019-04-26
Robots协议
2019-04-26