Zrobiłem tę metodę rekursywną, która oblicza najdłuższą ścieżkę w drzewie binarnym. ścieżkę jego sklepu w arralist, a następnie wrócił. jednak musiałem zadeklarować globalną listę zmiennych tablicy. czy możliwe jest wykonanie tej metody, ale jego zmienna listy tablic jest lokalna.jak zrobić zmienną lokalną
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;
}
Powód musiałem zrobić to globalny, ponieważ jego rekurencyjny programu i za każdym razem to nazywać się będzie utworzyć nową listę obiektów tablica zmiennej z różnymi adresami, jeśli wiesz co mam na myśli.
Nie ma zmiennych globalnych w Javie ...? –
@RichardJPLeGuen: prawie na pewno oznaczał pole "statyczne". –