429. N 叉树的层序遍历

Difficulty
Medium
Tags
二叉树
二叉树层次遍历
Star
给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。
树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。
示例 1:
notion imagenotion image
输入:root = [1,null,3,2,4,null,5,6] 输出:[[1],[3,2,4],[5,6]]
示例 2:
notion imagenotion image
输入:root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,null,13,null,null,14]
提示:
  • 树的高度不会超过 1000
  • 树的节点总数在 [0, 10^4] 之间

法1:宽度优先搜索

思路
同 标准二叉树的层次遍历
🥎
102. 二叉树的层序遍历
区别只在 存放子节点到队列的方式
题解
class Solution: def levelOrder(self, root: 'Node') -> List[List[int]]: result = [] if root is None: return result queue = [] queue.append(root) while len(queue) > 0: temp_len = len(queue) temp_list = [] while temp_len > 0: temp_node = queue.pop(0) temp_list.append(temp_node.val) temp_len -= 1 # 将子节点放到队列 if temp_node.children: for children_node in temp_node.children: queue.append(children_node) result.append(temp_list) return result