Я работаю над рекурсивным методом ...Возможно ли выполнить проверку того, что может быть неинициализированной переменной?
public BinaryTree<T> TreeMirror (BinaryTree<T> tree) {
BinaryTree mirror = new BinaryTree();
mirror = clone(tree);
...
TreeMirror(...)
...
}
Я не желаю способа сделать mirror
ссылка другой BinaryTree
объект на каждом шаге рекурсии, ни повторить mirror = clone(tree)
заявление после первой итерации , Мне интересно, можно ли включить проверку if-statement, чтобы проверить, был ли экземпляр mirror
уже инициализирован - в этом случае операторы mirror = new BinaryTree()
и mirror = clone(tree)
будут пропущены.
Я не думаю, что это возможно без передачи mirror
в качестве аргумента в метод или определения его в определении класса ... но я хочу убедиться.
Любые советы очень ценятся.
--------- EDIT ----------- Мне не разрешено изменять подпись метода, поэтому я не могу передать объект в моей реализации. Я могу создать зеркальное дерево, но только путем изменения исходного дерева в зеркало, которое я хочу попытаться избежать. Я пытался создать новый объект BinaryTree
, который является зеркалом исходного дерева, которое передается, но на самом деле не может понять, как это сделать рекурсивно.