Example 1: Input: root = [3,9,20,null,null,15,7] Output: [[3],[9,20],[15,7]] Example 2: Input: root = [1] Output: [[1]] Example 3: Input: root = [] Output: []
class Solution(object): def levelOrder(self, root): if not root: return [] Q = deque([root]) levels = [[root.val]] temp = deque() while Q: node = Q.popleft() if node.left: temp.append(node.left) if node.right: temp.append(node.right) if not Q: if temp: levels.append([n.val for n in temp]) Q = temp temp = deque() return levels
所有提供的实现中使用的编码模式是树广度优先搜索(BFS)。
此模式通常逐层遍历树,在移动到下一个深度之前处理当前深度的所有节点。
BFS 使用队列数据结构来实现,以跟踪每个级别的节点。
参考:
以上是二叉树层次顺序遍历 Leetcode的详细内容。更多信息请关注PHP中文网其他相关文章!