🌴 Прокачай свои алгоритмы: зеркалим бинарное дерево! Сегодня разберём короткий, но мощный алгоритм — инверсия бинарного дерева. Всего несколько строк кода — и ты превращаешь дерево в его зеркальное отражение. Вот как: 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-деревьев, генерация зеркал, работа с графами. 😛 За
🌴 Прокачай свои алгоритмы: зеркалим бинарное дерево
28 мая 202528 мая 2025
~1 мин