<jupyter_start><jupyter_text>Invert Binary TreeGiven 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 2- Input: root = []- Output: [] Constraints:- The number of nodes in the tree is in the range [0, 100].- -100 <= Node.val <= 100 Solution<jupyter_code># Definition for a binary tree node.
class TreeNode:
    def __init__(self, val=0, left=None, right=None):
        self.val = val
        self.left = left
        self.right = right


class Solution:
    '''
    IDEA:
        Traverse tree, and for each node change 
        the order of left and right nodes
    '''
    def invertTree(self, root: TreeNode) -> TreeNode:
        def _post_order(node):
            if not node:
                return None
            else:
                node.left, node.right = node.right, node.left   
                _post_order(node.left)
                _post_order(node.right)
            return node
            
        return _post_order(root)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.11091234347048301, 'fraction_numerical': 0.03041144901610018, 'mean_word_length': 2.178977272727273, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 6, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '97255', 'license': 'MIT', 'n_tokens_mistral': 372, 'n_tokens_neox': 346, 'n_words': 112, 'path': 'python-data-structures/leetocde/invert-binary-tree.ipynb', 'repo_name': 'dimastatz/courses', 'size': '1118'}