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
Corak pengekodan yang digunakan dalam semua pelaksanaan yang disediakan ialah Keluasan Pokok-Carian Pertama (BFS).
Corak ini biasanya merentasi peringkat pokok mengikut tahap, memproses semua nod pada kedalaman semasa sebelum beralih ke kedalaman seterusnya.
BFS dilaksanakan menggunakan struktur data baris gilir untuk menjejaki nod pada setiap peringkat.
Rujukan:
Atas ialah kandungan terperinci Perduaan Tree Level Traversal Letcode. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!