Задачи
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) {}
};
Реализуйте функцию Next которая возвращает указатель на следующий элемент в дереве. Если следующий элемент не существует, верните NULL.
// Java
TreeNode Next(TreeNode tree)
// C++
TreeNode* Next(TreeNode *tree)
Пример
Функция Next для tree указывающего на 8, возвращает указатель на вершину со значением 9.