У меня есть следующий правильный Java-код, чтобы найти in-order k
-й элемент в двоичном дереве.Как написать рекурсию без использования поля класса в Java
private static int count = 0;
public static <T> T findkthInOrder(Node<T> root, int k) {
count=0;
return findkthInOrder(root, k, 0);
}
public static <T> T findkthInOrder(Node<T> root, int k,int a) {
if (root == null)
return null;
T rt = findkthInOrder(root.left, k, 0);
if (rt != null)
return rt;
count++;
if (count == k) {
return root.data;
}
return findkthInOrder(root.right, k, 0);
}
Но я действительно хочу, чтобы удалить использование count
, возможно, путем использования дополнительного аргумента метода. Я также хочу сохранить его как рекурсию и потребовать метод findkthInOrder
для возврата значения типа T
.
Может ли кто-нибудь помочь мне в этом? Спасибо.
это домашнее задание? похоже, ваш профессор оставил ключ для вашего кода. – jdigital
@jdigital: нет, это не домашнее задание. Это то, что я практикую самостоятельно. Скажите, пожалуйста, ваше наблюдение. –
Подсказка: какой параметр 'a'? – jdigital