队列实现二叉树层序遍历
时间: 2023-12-24 17:23:44 浏览: 137
算法之二叉树的层序遍历(利用队列实现,需熟练手写)
5星 · 资源好评率100%
好的,这个问题可以用队列来实现二叉树的层序遍历。具体实现步骤如下:
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
```
阅读全文