层次遍历算法遍历二叉树
时间: 2023-12-02 15:42:43 浏览: 82
编写算法判别给定二叉树是否为完全二叉树(层次遍历).doc.doc
层次遍历算法是一种广度优先搜索算法,它按照层次的顺序遍历二叉树。具体实现方法是使用队列,首先将根节点入队,然后每次从队列中取出一个节点,访问该节点,并将其左右子节点(如果存在)入队,直到队列为空为止。下面是层次遍历算法遍历二叉树的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
```
阅读全文