У меня есть двоичное дерево, как на рисунке ниже, я хочу реализовать метод с именем findNode
, чтобы вернуть узел, содержащий значение, введенное в качестве параметра. Например: findNode(8)=8
, findNode(13)=13
. Я пытался изменить этот код, но он не работал:
class Node {
Node left, right;
int value;
public Node findNode(int value) {
Node focusNode = root;
if (focusNode == null) {
return null;
}
while (focusNode.value != value) {
// If we should search to the left
if (value < focusNode.value) {
// Shift the focus Node to the left child
focusNode = focusNode.left;
} else {
// Shift the focus Node to the right child
focusNode = focusNode.right;
}
return focusNode;
}
}
}