본문 바로가기
🖥️ 문제 풀이/리트코드(Leetcode)

[LeetCode 해석 및 풀이] 226. Invert Binary Tree (이진 트리 뒤집기)

by 뒬탕 2024. 7. 4.
반응형

LeetCode 문제 해석 및 풀이 방법

 

문제 226. Invert Binary Tree(이진 트리 뒤집기)

바로가기

 

문제 설명

영문

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

 

한글

이진트리의 root가 주어지면, 트리를 뒤집고 root를 반환하십시

 

제한조건

  • The number of nodes in the tree is in the range [0, 100].
  • -100 <= Node.val <= 100

 

입출력 예

입력 출력
root = [4,2,7,1,3,6,9] [4,7,2,9,6,3,1]
root = [2,1,3] [2,3,1]
root = [] []

 

 

해답 및 해설

파이썬 (Python)

class Solution:
    def invertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]:
        def invert(tree_node):
            if not tree_node:
                return
        
            invert(tree_node.left)
            invert(tree_node.right)

            tree_node.left, tree_node.right = tree_node.right, tree_node.left
        
        invert(root)

        return root

 

재귀로 하위 트리를 모두 뒤집어주는 방식을 이용

반응형

댓글