문제 링크 : https://leetcode.com/problems/invert-binary-tree/
왼쪽 노드와 오른쪽 노드의 값을 바꾸는 문제이다
recursive
# 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:
def invertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]:
if root :
root.left, root.right = self.invertTree(root.right), self.invertTree(root.left)
return root
재귀적으로 생각해서 현재 트리의 좌측과 우측을 구한다음 그것을 현재 트리의 좌측-우측, 우측-좌측 이렇게 매핑 시켜주면 된다