[AcWing]43. 不分行从上往下打印二叉树
[AcWing]43. 不分行从上往下打印二叉树
从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印。
数据范围
树中节点的数量 [0,1000]
。
样例
1 |
|
算法思想
显然,这是二叉树的层序遍历,使用 BFS
就行。
我们从根节点开始按宽度优先的顺序遍历整棵树,每次先扩展左儿子,再扩展右儿子。
这样我们会:
- 先扩展根节点;
- 再依次扩展根节点的左右儿子,也就是从左到右扩展第二层节点;
- 再依次从左到右扩展第三层节点;
- 依次类推
代码实现
1 |
|
时间复杂度
BFS时每个节点仅被遍历一次,所以时间复杂度是 O(n)
。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Phbeats-Blog!
评论