Найти наибольшее число меньше заданного числа (n) в данном BST - PullRequest
0 голосов
/ 23 августа 2011

Найти наибольшее число, меньшее заданного числа (n) в данном BST.

Я пробовал это:

начать с корневого узла, проверить, равен ли root n-1.Если root меньше, чем n-1, рекурсивно вызвать метод в root.right.Если root больше чем n-1 рекурсивно, вызовите метод на root.left.

Это решение работает, если у меня есть глобальная переменная для отслеживания текущего наибольшего элемента, меньшего, чем n, но это не хорошее решение.Пожалуйста, дайте мне знать, как решить без глобальной переменной

1 Ответ

0 голосов
/ 23 августа 2011

Просто укажите наибольшее число в качестве параметра в вашем методе. Когда вы в первый раз звоните, передайте наименьшее возможное число.

...