У меня есть этот код, где я пытаюсь напечатать большие числа двоичного дерева поиска. Например, когда я вызываю больший метод больше (5), а мое дерево двоичного поиска имеет значения 1,2,3,4,5,6,7,8,9,10 Я хочу вернуть более высокие значения из 5, поэтому результатом будет 6,7,8,9,10. Но у моего кода есть проблема, и я не знаю, где проблема. Система должна быть возвращена. Он работает с системой.Вернуть большие числа в двоичном дереве поиска в java
private int greater(BTNode<Integer> n,int nu)
{ int o=0;
int leftAns = 0;
if (n.left != null)
leftAns = greaterInt(n.left, nu);
int rightAns = 0;
if (n.right != null)
rightAns = greaterInt(n.right, nu);
int answer = leftAns + rightAns;
if (n.data.intValue() > nu){
o+=n.data;
System.out.println(n.data);
//System.out.println(answer);
}
return o;
}
public int greater(int n)
{ if (root == null)
return 0;
else
return greaterInt(root,n);
}
Для начала, ваш метод возвращает 'int', пока он кажется, что вы хотите вернуть более одного значения, поэтому вам, вероятно, понадобится 'Collection' как возвращаемое значение (или одно, если его реализация) –
amit
Я не могу использовать Collection. Я должен многократно вызывать метод в общедоступном методе и просто печатать значения один под другим. Например, 6/n 7/n 8/n (n = новая строка) – user3310040
Хорошо, а что не работает? – amit