Напишите функцию на Python, которая принимает корень бинарного дерева поиска и целое число k, и возвращает k-ый по величине элемент в этом дереве.



Условия:

Бинарное дерево поиска (BST) — это дерево, в котором каждый узел имеет не более двух детей, и для каждого узла его левое поддерево содержит только узлы с ключами, меньшими чем ключ узла, а правое поддерево — только узлы с ключами, большими чем ключ узла.

k всегда валидно и находится в пределах количества узлов в дереве.



Объяснение:

Функция kthSmallest принимает корень бинарного дерева и число k.

Вложенная функция inorder реализует обход дерева в порядке «лево-корень-право», что гарантирует получение элементов в порядке возрастания.

Рекурсивный вызов inorder собирает значения узлов в список.

Функция возвращает k-1 элемент этого списка, так как индексация в Python начинается с нуля.



Этот вопрос проверяет знания кандидата в области алгоритмов обхода дерева, рекурсии и понимания структур данных, таких как бинарные деревья поиска.