Finden Sie bei einem binären Baum den Pfad, auf dem die Summe jedes Knotens auf allen Pfaden gleich dem gegebenen Zielwert ist.
Ein gültiger Pfad bezieht sich auf den Pfad vom Wurzelknoten zum Blattknoten.
Probe
Bei einem binären Baum und dem Zielwert = 5:
1 / / 2 4 / / 2 3
zurückkehren:
[[1, 2, 2], [1, 4]]
Der Code ist wie folgt:
/** * Definition von Treenode: * öffentliche Klasse Treenode { * public int val; * öffentliches Treenode links, rechts; * public treenode (int val) { * this.val = val; * this.left = this.right = null; *} *} */public class Lösung {/** * @param root das root das root des binary tree * @param acton anteger ArrayList <list <Integer> (), Target);} öffentliche Liste <Liste <Integer >> DFS (Treenode Root, Liste <Integer> Knoten, int sum, list <list <Integer >> Pfade, int Ziel) {if (root == null) {innrever New ArrayList <liste <intiere; ArrayList <list <Integer >> (); if (root.left! temp = dfs (root.Left, Knoten, sum+root.val, Pfade, Ziel); if (temp! = null) {path.addall (temp);}} if (root.right! {nodes.addall (node);} nodes.add (root.val); list <list <Integer >> temp = dfs (root.right, summe, sum+root.val, Pfade, Ziel); if (temp! nodes = new ArrayList <Neger> (); if (node!Referenz
Codeanalyse des Problems beim Auffinden des maximalen Pfades des binären Baums in der Java -Programmierung
Analyse der Vererbungstestcode in Java
Zusammenfassen
In dem obigen dreht sich alles um Java -binäre Baumpfade und Codebeispiele in diesem Artikel. Ich hoffe, es wird für alle hilfreich sein. Interessierte Freunde können weiterhin auf andere verwandte Themen auf dieser Website verweisen. Wenn es Mängel gibt, hinterlassen Sie bitte eine Nachricht, um darauf hinzuweisen. Vielen Dank an Freunde für Ihre Unterstützung für diese Seite!