树的层序遍历python
时间: 2023-06-21 15:03:41 浏览: 35
以下是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):
"""
:type root: TreeNode
:rtype: List[List[int]]
"""
if not root:
return []
queue = [root]
res = []
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`函数接收一个树的根节点作为输入,返回一个二维列表,表示树的每一层节点的val值。
该函数使用队列来实现广度优先搜索,首先将根节点加入队列,然后开始遍历队列。对于每个节点,我们将其val值加入当前层的列表中,然后将其左右子节点加入队列中。每次处理完一层节点后,将该层的列表加入结果列表中。最后返回结果列表即可。