Heim > Backend-Entwicklung > Python-Tutorial > Leetcode für die Durchquerung der Ordnung auf Binärbaumebene

Leetcode für die Durchquerung der Ordnung auf Binärbaumebene

Linda Hamilton
Freigeben: 2025-01-05 04:05:39
Original
684 Leute haben es durchsucht

Geben Sie anhand der Wurzel eines Binärbaums die Durchquerung der Ebenenreihenfolge der Werte seiner Knoten zurück. (d. h. von links nach rechts, Ebene für Ebene).

Binary Tree Level Order Traversal Leetcode

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: []
Nach dem Login kopieren

Python-Lösung zur Traversierung auf binärer Baumebene

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
Nach dem Login kopieren

In dieser Lösung verwendetes Codierungsmuster

Das in allen bereitgestellten Implementierungen verwendete Codierungsmuster ist Tree Breadth-First Search (BFS).
Dieses Muster durchläuft üblicherweise einen Baum Ebene für Ebene und verarbeitet alle Knoten in der aktuellen Tiefe, bevor zur nächsten Tiefe übergegangen wird.
BFS wird mithilfe einer Warteschlangendatenstruktur implementiert, um die Knoten auf jeder Ebene zu verfolgen.

Zeit- und Raumkomplexität für diese Lösung

  1. Die Zeitkomplexität ist O(N), da jeder Knoten einmal besucht wird.
  2. Die Space-Komplexität beträgt O(M), da die Warteschlange (oder der Rekursionsstapel) die maximale Anzahl von Knoten auf jeder Ebene fasst.

Referenz:

  1. LeetCode-Problem
  2. LeetCode-Lösung
  3. Breitensuche

Das obige ist der detaillierte Inhalt vonLeetcode für die Durchquerung der Ordnung auf Binärbaumebene. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage