eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Tree Предыдущий

Tree Предыдущий

Дано бинарное дерево. Найдите Предыдущий элемент для заданного.

Определение дерева:

// Java
class TreeNode
{
public:
  int val;
  TreeNode left, right, parent;
  TreeNode(int x, TreeNode prev) {
    val = x;
    left = NULL; 
    right = NULL;
    parent = prev;
};
// C++
class TreeNode
{
public:
  int val;
  TreeNode *left, *right, *parent;
  TreeNode(int x, TreeNode *prev = NULL) : val(x), left(NULL), right(NULL), parent(prev) {}
};

Реализуйте функцию Prev которая возвращает указатель на предыдущий элемент в дереве. Если предыдущий элемент не существует, верните NULL.

// Java
TreeNode Prev(TreeNode tree)
// C++
TreeNode* Prev(TreeNode *tree)

Пример

prb10147.gif

Функция Prev для tree указывающего на 12, возвращает указатель на вершину со значением 9.

Лимит времени 1 секунда
Лимит использования памяти 128 MiB
Автор Михаил Медведев