Найти в Дзене

🌴 Прокачай свои алгоритмы: зеркалим бинарное дерево

🌴 Прокачай свои алгоритмы: зеркалим бинарное дерево! Сегодня разберём короткий, но мощный алгоритм — инверсия бинарного дерева. Всего несколько строк кода — и ты превращаешь дерево в его зеркальное отражение. Вот как: class Solution: def invertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]: if not root: return None temp = root.left root.left = root.right root.right = temp self.invertTree(root.left) self.invertTree(root.right) return root 🤡 Что делает этот код? Он рекурсивно меняет местами левое и правое поддеревья для каждого узла дерева. Базовый случай — если дошли до None, возвращаемся. Всё остальное — чистая рекурсия. 💣 Пример: Исходное дерево: 4 / \ 2 7 / \ / \ 1 3 6 9 После invertTree: 4 / \ 7 2 / \ / \ 9 6 3 1 ❗️ Почему это круто? 1. Это классика собеседований. 2. Простой, элегантный пример рекурсии и работы с деревьями. 3. Можно использовать в реальных задачах: разворот UI-деревьев, генерация зеркал, работа с графами. 😛 За

🌴 Прокачай свои алгоритмы: зеркалим бинарное дерево!

Сегодня разберём короткий, но мощный алгоритм — инверсия бинарного дерева. Всего несколько строк кода — и ты превращаешь дерево в его зеркальное отражение. Вот как:

class Solution:

def invertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]:

if not root:

return None

temp = root.left

root.left = root.right

root.right = temp

self.invertTree(root.left)

self.invertTree(root.right)

return root

🤡 Что делает этот код?

Он рекурсивно меняет местами левое и правое поддеревья для каждого узла дерева. Базовый случай — если дошли до None, возвращаемся. Всё остальное — чистая рекурсия.

💣 Пример:

Исходное дерево:

4

/ \

2 7

/ \ / \

1 3 6 9

После invertTree:

4

/ \

7 2

/ \ / \

9 6 3 1

❗️ Почему это круто?

1. Это классика собеседований.

2. Простой, элегантный пример рекурсии и работы с деревьями.

3. Можно использовать в реальных задачах: разворот UI-деревьев, генерация зеркал, работа с графами.

😛 Запомни: всё, что тебе нужно — это рекурсивный обмен поддеревьев. Красота в простоте.