Я использую Java для двоичного дерева (а не двоичного дерева поиска). У меня есть объявления переменных класса и экземпляра:Проверка всех записей данных в двоичном дереве равна
class intBTNode
{
private int data;
private intBTNode left;
private intBTNode right;
То, что я хочу сделать, это написать метод, который возвращает истину, только если все записи в дереве, равны целевое число или, если дерево пусто. Я написал следующий код:
public static boolean allEqual(intBTNode root, int target)
{
if (root == null)
return true;
if (root.data == target && root.left != null)
return allEqual(root.left, target);
if (root.data == target && root.right != null)
return allEqual(root.right, target);
return false;
}
Я пытаюсь работать мой путь через это, чтобы проверить код, но я не уверен, что я адекватно проверять все узлы (то есть лист). Кроме того, я пытаюсь разработать способ атаковать эту проблему, которая не является рекурсивной или будет более эффективной. Любая помощь или предложения будут оценены.