层遍历二叉树的算法思想
时间: 2024-03-14 20:39:45 浏览: 60
按层次遍历二叉树的算法
层序遍历是一种广度优先搜索算法,也叫BFS算法。其算法思想是从二叉树的根节点开始,逐层遍历二叉树的每个节点,按照从上到下、从左到右的顺序依次访问每个节点。具体实现时,可以使用队列来存储每一层的节点,先将根节点入队,然后依次出队每个节点,并将其左右子节点入队,直到队列为空为止。这样就可以保证每个节点都被访问一次,而且按照层次顺序进行访问。
以下是Python实现二叉树层序遍历的代码示例:
```python
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def levelOrder(root: TreeNode) -> List[List[int]]:
if not root:
return []
res = []
queue = [root]
while queue:
level = []
for i in range(len(queue)):
node = queue.pop(0)
level.append(node.val)
if node.left:
queue.append(node.left)
if node.right:
queue.append(node.right)
res.append(level)
return res
```
阅读全文