二叉树的层序遍历
时间: 2023-06-21 22:14:50 浏览: 105
二叉树的层序遍历是一种广度优先搜索算法,具体步骤如下:
1. 创建一个队列,将根节点加入队列中。
2. 当队列不为空时,执行以下操作:
- 弹出队列中的一个节点
- 访问该节点
- 如果该节点有左子节点,则将左子节点加入队列中
- 如果该节点有右子节点,则将右子节点加入队列中
3. 遍历结束
下面是一个 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
```
其中,TreeNode 是二叉树的节点类,levelOrder 是层序遍历函数,root 是根节点。函数返回一个二维数组,表示二叉树的层序遍历结果。
阅读全文