Ich habe diese rekursive Methode, die den längsten Pfad in einem binären Baum berechnet. der Pfad wird in einem Arralist gespeichert und dann zurückgegeben. Allerdings musste ich die Array-Listenvariable global deklarieren. ist es möglich, diese Methode zu erstellen, aber seine Array-Listenvariable ist lokal.Wie mache ich eine Variable local
public static <T> ArrayList<T> longestPath(BinaryNode<T> root){
//ArrayList path = new ArrayList();
if(root == null) return null;
if(height(root.left) > height(root.right)){
path.add(root.element);
longestPath(root.left);
}else{
path.add(root.element);
longestPath(root.right);
}
return path;
}
Der Grund, warum ich es global machen musste, weil sein ein rekursive Programm und jedes Mal, es selbst nennt es wird eine neue Array-Liste Objektvariable mit Differenz-Adresse erstellen, wenn Sie wissen, was ich meine.
Es gibt keine globalen Variablen in Java ...? –
@RichardJPLeGuen: Er meinte fast sicher ein 'statisches' Feld. –