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

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

102.二叉树的层次遍历

相关文章:

  • 2021-12-08
  • 2021-07-11
  • 2022-12-23
  • 2021-06-25
  • 2021-10-14
  • 2021-11-21
猜你喜欢
  • 2021-07-31
  • 2021-09-21
  • 2021-07-27
  • 2021-09-04
相关资源
相似解决方案