二叉树的层次遍历的代码
时间: 2024-04-26 22:17:39 浏览: 86
二叉树的层次遍历是一种广度优先搜索的算法,通过逐层遍历二叉树的节点来获取它们的值。以下是二叉树层次遍历的代码示例:
```python
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def levelOrder(root):
if not root:
return []
result = []
queue = [root]
while queue:
level = []
size = len(queue)
for _ in range(size):
node = queue.pop(0)
level.append(node.val)
if node.left:
queue.append(node.left)
if node.right:
queue.append(node.right)
result.append(level)
return result
```
这段代码中,我们使用一个队列来辅助进行层次遍历。首先将根节点加入队列,然后在每一层遍历时,先记录当前层的节点数量,然后依次从队列中取出节点,并将它们的值加入到当前层的列表中。同时,将它们的左右子节点加入队列中,以便下一层的遍历。最后返回结果列表,即为二叉树的层次遍历结果。
阅读全文