树的广度优先遍历 GO语言实现

广度优先遍历使用队列

注意队列的插入,使用链表实现的时候,插入要查到最后一个节点,而不是头节点的下一个节点。

其实栈用链表实现也很好。插入删除的效率都很好

队列用链表实现,插入效率低一下

102. Binary Tree Level Order Traversal

Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).

这道题的主要难点在于如何记录树的深度,

应该是在构建每一层的时候,记录当层的宽度,而当层的由上一层的宽度决定,第一层宽度已知。遍历完一层,则应该深度+1。为了深度可以直接相加,注意储存节点前先判断是否为空


199. Binary Tree Right Side View

Given a binary tree, imagine yourself standing on the right side of it, return the values of the nodes you can see ordered from top to bottom.

常出错的地方:

1 赋值和等号

2 变量名是否正确

3 返回值是否正确

4 使用未定义的变量和未使用定义了的变量+1

5 左括号写完

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容