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
Le modèle de codage utilisé dans toutes les implémentations fournies est Tree Breadth-First Search (BFS).
Ce modèle traverse généralement une arborescence niveau par niveau, traitant tous les nœuds à la profondeur actuelle avant de passer à la profondeur suivante.
BFS est implémenté à l'aide d'une structure de données de file d'attente pour suivre les nœuds à chaque niveau.
Référence :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!