Heim >Backend-Entwicklung >PHP-Tutorial >. Finden Sie den größten Wert in jeder Baumzeile
515. Finden Sie den größten Wert in jeder Baumzeile
Schwierigkeit:Mittel
Themen: Baum, Tiefensuche, Breitensuche, Binärbaum
Gibt bei gegebener Wurzel eines Binärbaums ein Array mit dem größten Wert in jeder Zeile des Baums zurück (0-indiziert).
Beispiel 1:
Beispiel 2:
Einschränkungen:
Lösung:
Das Problem „Finden Sie den größten Wert in jeder Baumzeile“ erfordert die Identifizierung des größten Werts, der auf jeder Ebene (Zeile) eines Binärbaums vorhanden ist. Bei einem gegebenen Binärbaum besteht das Ziel darin, den Baum Zeile für Zeile zu durchlaufen und den Maximalwert aus jeder Zeile zu sammeln. Dieses Problem beinhaltet grundlegende Baumdurchquerungstechniken wie Breadth-First Search (BFS) oder Depth-First Search (DFS).
Der einfachste Ansatz zum Ermitteln des größten Werts in jeder Zeile ist die Verwendung von BFS:
Alternativ kann auch DFS verwendet werden:
Lassen Sie uns diese Lösung in PHP implementieren: 515. Finden Sie den größten Wert in jeder Baumzeile
val = $val; $this->left = $left; $this->right = $right; } } /** * @param TreeNode $root * @return Integer[] */ function largestValues($root) { ... ... ... /** * go to ./solution.php */ } // Example usage: $root = new TreeNode(1); $root->left = new TreeNode(3); $root->right = new TreeNode(2); $root->left->left = new TreeNode(5); $root->left->right = new TreeNode(3); $root->right->right = new TreeNode(9); print_r(largestValues($root)); // Output: [1, 3, 9] ?>Erläuterung:
Eingabe: [1,3,2,5,3,null,9]
- Stufe 0: Knotenwerte: [1] → Maximum: 1.
- Ebene 1: Knotenwerte: [3, 2] → Maximum: 3.
- Ebene 2: Knotenwerte: [5, 3, 9] → Maximum: 9. #### Ausgabe: [1, 3, 9].
Zeitkomplexität
Eingabe: root = [1,3,2,5,3,null,9]
Ausgabe: [1, 3, 9].
Diese BFS-basierte Lösung berechnet effizient den größten Wert in jeder Baumzeile mit linearer Zeitkomplexität. Es behandelt große Bäume, negative Werte und Randfälle effektiv wie leere Bäume.
Kontaktlinks
Wenn Sie diese Serie hilfreich fanden, denken Sie bitte darüber nach, dem Repository einen Stern auf GitHub zu geben oder den Beitrag in Ihren bevorzugten sozialen Netzwerken zu teilen? Ihre Unterstützung würde mir sehr viel bedeuten!
Wenn Sie weitere hilfreiche Inhalte wie diesen wünschen, folgen Sie mir gerne:
Das obige ist der detaillierte Inhalt von. Finden Sie den größten Wert in jeder Baumzeile. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!