↓快轉到主要內容
  1. LeetCode/

LeetCode 429: N-ary Tree Level Order Traversal

·1 分鐘· ·
LeetCode Medium Tree Breadth-First-Search
Wei Yi Chung
作者
Wei Yi Chung
Working at the contributing of open source, distributed systems, and data engineering.
目錄

基本資料
#

難易度: medium 第一次嘗試:2026-10-24

  • 提交紀錄:Accepted(一次通過)

解題思路
#

和二元樹的層序遍歷一樣(Tree 模板二),只是小孩從 left、right 變成 children 清單。每一輪先記下佇列長度,這一輪 pop 的就是同一層。

我的嘗試
#

一次通過。

正確解法
#

class Solution:
    def levelOrder(self, root: 'Node') -> List[List[int]]:
        if not root:
            return []
        q = deque([root])
        res = []
        while q:
            level = []
            for _ in range(len(q)):
                node = q.popleft()
                level.append(node.val)
                q.extend(node.children)
            res.append(level)
        return res

複雜度
#

時間 O(n),空間 O(w)(最寬的一層)。

要特別避免的錯誤
#

  • 空樹要回傳 []。
  • 一層的長度要在迴圈開始前記下來,迴圈中佇列會一直變長。

面試口說整理
#

這是 BFS 層序遍歷,每一輪先記下佇列長度,pop 這麼多個就是同一層,同時把每個節點的 children 全部放進佇列。時間 O(n),空間是最寬那層的大小。

相關文章

LeetCode 515: Find Largest Value in Each Tree Row
·1 分鐘
LeetCode Medium Tree Depth-First-Search Breadth-First-Search Binary-Tree
LeetCode 515 解題筆記:BFS 層序遍歷,每層取最大值;初始值用 -inf
LeetCode 314: Binary Tree Vertical Order Traversal
·1 分鐘
LeetCode Medium Hash-Table Tree Depth-First-Search Breadth-First-Search Sorting Binary-Tree
LeetCode 314 解題筆記:BFS 帶著欄位編號,用 BFS 才能保證同一欄由上到下、同一列由左到右
LeetCode 3787: Find Diameter Endpoints of a Tree
·1 分鐘
LeetCode Medium Tree Breadth-First-Search Graph
LeetCode 3787 解題筆記:兩次 BFS 找到一條直徑的兩端 A、B;任一點最遠的點一定是 A 或 B,所以 max(dist(A,i), dist(B,i)) 等於直徑的點就是某條直徑的端點
LeetCode 116: Populating Next Right Pointers in Each Node
·1 分鐘
LeetCode Medium Linked-List Tree Depth-First-Search Breadth-First-Search
LeetCode 116 解題筆記:完美二元樹,用上一層已經接好的 next 走過這一層:left.next = right,right.next = next.left;O(1) 額外空間
LeetCode 117: Populating Next Right Pointers in Each Node II
·1 分鐘
LeetCode Medium Linked-List Tree Depth-First-Search Breadth-First-Search Binary-Tree
LeetCode 117 解題筆記:BFS 一層一層接 next;不是完全二元樹時,只看隔壁節點的小孩會斷掉
LeetCode 102: Binary Tree Level Order Traversal
·1 分鐘
LeetCode Medium Tree Breadth-First-Search Binary-Tree
LeetCode 102 解題筆記:BFS 一次處理一整層,用目前這層的節點產生下一層;空樹回傳空 list