宽度优先搜索(BFS)需要用到队列(Queue),在面试时推荐使用Py3的Deque。
问题:
二叉树的层次遍历
代码:
from collections import deque #导入模块
class Solution:
"""
@param root: A Tree
@return: Level order a list of lists of integer
"""
def levelOrder(self, root):
if root is None:
return []
queue = deque([root])
result = []
while queue:
level = []
for _ in range(len(queue)):
node = queue.popleft()
level.append(node.val)
if node.left:
queue.append(node.left)
if node.right:
queue.append(node.right)
result.append(level)
return result
本文介绍了一种使用宽度优先搜索(BFS)算法进行二叉树层次遍历的方法,通过Python的Deque实现,详细展示了如何从根节点开始逐层访问所有节点,并返回各层节点值的列表。
326

被折叠的 条评论
为什么被折叠?



