Get in touch
or send us a question?
CONTACT

[300 Bài Code Thiếu Nhi] Invert Binary Tree – Python

Mô tả bài toán

Given the root of a binary tree, invert the tree, and return its root.

Example 1:

Input: root = [4,2,7,1,3,6,9]
Output: [4,7,2,9,6,3,1]

Example 2:

Input: root = [2,1,3]
Output: [2,3,1]

Example 3:

Input: root = []
Output: []

Giải pháp

Thực hiện hoán đổi 2 nút cùng cấp với nhau, sau đó sử dụng phương pháp đệ quy để tiếp tục thực hiện đổi các nút ở phía dưới, lần lượt bên trái trước rồi tới bên phải cho đến khi hết cây.

class Solution(object):
    def invertTree(self, root):
        """
        :type root: TreeNode
        :rtype: TreeNode
        """
        # Base case...
        if root == None:
            return root
        # swapping process...
        root.left, root.right = root.right, root.left
        # Call the function recursively for the left subtree...
        self.invertTree(root.left)
        # Call the function recursively for the right subtree...
        self.invertTree(root.right)
        return root     # Return the root...