root이진 트리가 주어지면 트리를 반전하고 루트를 반환합니다 .
입력: 루트 = [4,2,7,1,3,6,9]
출력: [4,7,2,9,6,3,1]
입력: 루트 = [2,1,3]
출력: [2,3,1]
입력: 루트 = []
출력: []
class Solution:
def invertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]:
if not root:
return None
root.left, root.right = root.right, root.left
self.invertTree(root.left)
self.invertTree(root.right)
return root
<내 코드의 흐름>
1. invertTree 메서드는 트리의 루트를 입력받아 트리를 뒤집고, 결과로 루트를 반환합니다.
2. 루트가 None인 경우, None을 반환합니다.
3.현재 노드의 왼쪽 자식과 오른쪽 자식을 서로 교환합니다.
4.재귀적으로 왼쪽 서브트리와 오른쪽 서브트리를 뒤집습니다.
5.뒤집힌 트리의 루트를 반환합니다.