Существует задание, в котором мы должны изменить двоичное дерево следующими способами. Я был в состоянии написать все методы для работы, в том числе метод глубины (). Однако, когда я внимательно прочитал вопрос, я заметил, что я написал этот метод с узлом внутри параметров вместо переменной (в данном случае его ключом int).
Вот мой код:
public int getDepth(Node node) {
if (node == null) {
return 0;
} else {
int leftSubtreeDepth = getDepth(node.leftChild);
int rightSubtreeDepth = getDepth(node.rightChild);
if (leftSubtreeDepth > rightSubtreeDepth) {
return (leftSubtreeDepth + 1);
} else {
return (rightSubtreeDepth + 1);
}
}
}
Вывод правильный, когда я использовал этот код. Тем не менее, теперь, когда я знаю, что мне нужно написать метод глубины с переменной типа int (например, public int getDepth (int key)), могу ли я что-нибудь сделать, чтобы изменить этот код? Я надеюсь, что это всего лишь небольшое изменение / исправление, поскольку мне понадобилось некоторое время, чтобы написать этот код.