From aa416233529cf759c3bf78fc59906dbbcbed610d Mon Sep 17 00:00:00 2001 From: YuCheng Hu Date: Wed, 8 Nov 2023 21:17:23 -0500 Subject: [PATCH] update https://www.isharkfly.com/t/binary-tree-level-order-traversal/15118 --- algorithm/_sidebar.md | 3 +- .../binary-tree-level-order-traversal.md | 43 +++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 algorithm/binary-tree-level-order-traversal.md diff --git a/algorithm/_sidebar.md b/algorithm/_sidebar.md index 4f47f9d..35d9a4c 100644 --- a/algorithm/_sidebar.md +++ b/algorithm/_sidebar.md @@ -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) \ No newline at end of file +- [Lambda 偶数](/algorithm/lambda-evens-lambda.md) \ No newline at end of file diff --git a/algorithm/binary-tree-level-order-traversal.md b/algorithm/binary-tree-level-order-traversal.md new file mode 100644 index 0000000..59853ef --- /dev/null +++ b/algorithm/binary-tree-level-order-traversal.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算法来做 + +## 思路和点评 + +这个程序可以使用队列的广度优先算法来进行遍历。 + +需要注意的是,因为在输出结果的时候需要按照层级来进行输出,那么需要考虑的一个算法就是二叉树的层级遍历算法。 + +这个算法要求在遍历的时候记录树的层级。 \ No newline at end of file