TGViewer
Python Backend | YeaHub Python Backend | YeaHub @yeahub_python_backend · 1.76K subscribers
Post #402 696
#ЛитКод
Задача: 669. Trim a Binary Search Tree

Дано корневое дерево двоичного поиска и нижняя и верхняя границы как low и high. Обрежьте дерево так, чтобы все его элементы лежали в диапазоне [low, high]. Обрезка дерева не должна изменять относительную структуру элементов, которые останутся в дереве (то есть любой потомок узла должен оставаться потомком). Можно доказать, что существует единственный ответ.

Верните корень обрезанного дерева двоичного поиска. Обратите внимание, что корень может измениться в зависимости от заданных границ.

Пример:
Input: root = [1,0,2], low = 1, high = 2
Output: [1,null,2]


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

1⃣Если node.val > high, то обрезанное двоичное дерево должно находиться слева от узла.

2⃣Если node.val < low, то обрезанное двоичное дерево должно находиться справа от узла.

3⃣В противном случае обрезаем обе стороны дерева.

😎 Решение:
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right

class Solution:
def trimBST(self, root: TreeNode, low: int, high: int) -> TreeNode:
if not root:
return None
if root.val > high:
return self.trimBST(root.left, low, high)
if root.val < low:
return self.trimBST(root.right, low, high)
root.left = self.trimBST(root.left, low, high)
root.right = self.trimBST(root.right, low, high)
return root


👉Новости 👉База вопросов
LeetCode Trim a Binary Search Tree - LeetCode Can you solve this real interview question? Trim a Binary Search Tree - Given the root of a binary search tree and the lowest and highest boundaries as low and high, trim the tree so that all its elements lies in [low, high]. Trimming the tree should not…
  • ❤ 1
More from @yeahub_python_backend
  1. Oct 9, 2026#repository #тестовые #задание #собеседование 📚 Тестовые задания из реальных собеседовани…
  2. Oct 8, 2026#Собес #sql #order 🤔 Какой порядок выполнения SQL-запроса? 💬 Кратко: SQL выполняется не…
  3. Oct 7, 2026#Собес #memory 🤔 Middle+ Python Backend-разработчик в DELOTECH Техническое собеседование.…
  4. Oct 5, 2026#Собес #inheritance #composition #mixin 🤔 Какие есть способы переиспользования методов од…
  5. Oct 2, 2026#repository #собес 📚 Interactive Coding Challenges от Donne Martin Более 120 интерактивны…
  6. Oct 1, 2026#Собес #fork #git #repository 🤔 Что такое fork? 💬 Кратко: Fork — это копия чужого репози…
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 →