Рубрики
Без рубрики

Инвертировать бинарное дерево Python

Это вопрос лета, который можно найти здесь Вам дают бинарное дерево, а вы в Инв … Теги с Python, алгоритмы, информатики.

Это вопрос летекода, который можно найти здесь

Вам предоставляется бинарное дерево, и вы должны инвертировать его или подняться на каждый левый узел с соответствующим правым узлом.

Каждый узел BinaryTree имеет целочисленное значение, левый узел ребенка и правый узел для детей. Детские узлы могут быть самими к бинаррингу или нет/нуль.

# Given class definition of a binary tree
# DO NOT TOUCH THIS
class BinaryTree:
    def __init__(self, value):
        self.value = value
        self.left = None
        self.right = None

def invertBinaryTree(tree):
    if tree is None:
        return
    swapLeftAndRight(tree)
    invertBinaryTree(tree.left)
    invertBinaryTree(tree.right)

def swapLeftAndRight(tree):
    tree.left, tree.right = tree.right, tree.left

Swapleftandright Функция является наиболее важной частью, где она осуществляет фактическое помещение левых и правых узлов. Python действительно хороший, где вы можете положить обмен на одну строку.

Затем вы рекурцируете функцию InvertBinaryTree, чтобы продолжать заменять следующие левые и правильные детские узлы.

Оригинал: “https://dev.to/jabermudez11/invert-binary-tree-python-5dam”