<aside> 👉🏿 문제 링크
</aside>
<aside> 👉🏿 이진 트리인 root가 주어진다.
이를 반전처리한 루트를 반환하라.
</aside>
Input: root = [4,2,7,1,3,6,9]
Output: [4,7,2,9,6,3,1]

<aside> 👉🏿 두가지 방법으로 해결할 수 있다.
<aside> 👉🏿 굉장히 간단하게 구현할 수 있다. dfs 방식으로 내려가면서 오른쪽 노드와 왼쪽 노드를 재귀적으로 교체해주면 된다.
</aside>
def invertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]:
        if root is None :
            return None
        def invert(parent):
            if parent :
                parent.left, parent.right = invert(parent.right), invert(parent.left)
                return parent
        return invert(root)
<aside> 👉🏿 queue를 이용해서 노드의 왼쪽과 오른쪽을 교체해준다.
</aside>
class Solution:
    def invertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]:
        queue = collections.deque([root])
        while queue :
            node = queue.popleft()
            if node :
                node.left, node.right = node.right, node.left
                queue.append(node.left)
                queue.append(node.right)
        return root