This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
- [二叉树](/algorithm/binary-tree.md)
|
||||
- [二叉树的层次遍历]()
|
||||
- [下一个斐波拉契数](/algorithm/next-fibonacci-number.md)
|
||||
- [一个字符串包裹函数](/algorithm/a-word-wrap-functionality.md)
|
||||
- [打印 100 以内的素数](/algorithm/prime-numbers-from-1-to-100.md)
|
||||
- [二进制空白](/algorithm/binary-gap.md)
|
||||
- [Lambda 偶数](/algorithm/binary-gap.md)
|
||||
- [Lambda 偶数](/algorithm/lambda-evens-lambda.md)
|
||||
@@ -0,0 +1,43 @@
|
||||
# 二叉树的层次遍历(Binary Tree Level Order Traversal)
|
||||
|
||||
> 🔔 参与讨论:https://www.isharkfly.com/t/binary-tree-level-order-traversal/15118
|
||||
|
||||
## 中文描述
|
||||
|
||||
给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问)
|
||||
|
||||
## 样例
|
||||
|
||||
给一棵二叉树 `{3,9,20,#,#,15,7}` :
|
||||
|
||||
```
|
||||
3
|
||||
/ \
|
||||
9 20
|
||||
/ \
|
||||
15 7
|
||||
```
|
||||
|
||||
返回他的分层遍历结果:
|
||||
|
||||
```
|
||||
[
|
||||
[3],
|
||||
[9,20],
|
||||
[15,7]
|
||||
]
|
||||
```
|
||||
|
||||
## 挑战
|
||||
|
||||
挑战1:只使用一个队列去实现它
|
||||
|
||||
挑战2:用BFS算法来做
|
||||
|
||||
## 思路和点评
|
||||
|
||||
这个程序可以使用队列的广度优先算法来进行遍历。
|
||||
|
||||
需要注意的是,因为在输出结果的时候需要按照层级来进行输出,那么需要考虑的一个算法就是二叉树的层级遍历算法。
|
||||
|
||||
这个算法要求在遍历的时候记录树的层级。
|
||||
Reference in New Issue
Block a user