TGViewer
C# Development | YeaHub C# Development | YeaHub @yeahub_c_sharp_dev · 743 subscribers
Post #187 208
#ЛитКод
Задача: 510. Inorder Successor in BST II

Дан узел в двоичном дереве поиска, верните его последующего (in-order successor) в этом дереве. Если у узла нет последующего, верните null.

Последующий узла — это узел с наименьшим ключом, большим, чем node.val.

Вы будете иметь прямой доступ к узлу, но не к корню дерева. Каждый узел будет иметь ссылку на своего родителя. Ниже приведено определение для Node:
class Node {
public int val;
public Node left;
public Node right;
public Node parent;
}


Пример:
Input: tree = [5,3,6,2,4,null,null,1], node = 6
Output: null
Explanation: There is no in-order successor of the current node, so the answer is null.


👨‍💻 Алгоритм:

1⃣Проверка правого поддерева
Если у узла есть правый потомок, перейдите к правому узлу, затем спускайтесь влево до самого нижнего узла. Этот узел будет следующим узлом в порядке in-order.

2⃣Поиск предка
Если у узла нет правого потомка, поднимайтесь по дереву до тех пор, пока узел не станет левым потомком своего родителя. Родитель этого узла будет следующим узлом в порядке in-order.

3⃣Возвращение результата
Верните найденный узел или null, если следующий узел не найден.

😎 Решение:
public class Node {
public int val;
public Node left;
public Node right;
public Node parent;
}

public class Solution {
public Node InorderSuccessor(Node x) {
if (x.right != null) {
x = x.right;
while (x.left != null) {
x = x.left;
}
return x;
}

while (x.parent != null && x == x.parent.right) {
x = x.parent;
}
return x.parent;
}
}


👉Новости 👉База вопросов
  • ❤ 2
  • 👾 1
More from @yeahub_c_sharp_dev
  1. Oct 9, 2026#article #indiegames #opensource #sdl3 📚 Как делать видеоигры в 2025 году (без движка) Ав…
  2. Oct 8, 2026#Собес #database #primary_key #foreign_key 🤔 Что такое первичный (PRIMARY KEY) и внешний…
  3. Oct 7, 2026#Собес #microservices #architecture 🤔 Какими свойствами должен обладать хороший микросерв…
  4. Oct 5, 2026#Собес #Jeffrey_Richter #CLR_via_C# #.NET 🤔 Кто такой Джеффри Рихтер? 💬 Кратко: Джеффри…
  5. Oct 2, 2026#repository #кибербезопасность 📚 Структурированный 90-дневный план обучения кибербезопасн…
  6. Oct 1, 2026#Собес #WebSocket #Server-Sent_Events #SSE 🤔 Чем WebSocket отличается от SSE (Server-Sent…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →