Мне нужно создать метод, который проверяет, присутствует ли данное дерево в дереве или нет, и соответственно возвращает true или false.
Дерево не является двоичным деревом поиска, поэтому значения узла не всегда меньше слева.
Мой конструктор, как показано ниже:
public class TreeNode {
TreeNode left;
int payload;
TreeNode right;
public TreeNode(int x){
payload = x;
}
Приведенный ниже метод отлично работает:
public boolean find(int x,TreeNode root) {
if (root.payload == x) {
return true;
} if (root.left != null && find(x, root.left)){
return true;
}if (root.right != null && find(x, root.right)) {
return true;
}
return false;
}
Однако я понял, что должен следовать руководству и сделать это следующим образом:
public Boolean find(int x)
Как я могу изменить свой код для реализации этой версии?