반응형
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
재귀로 하위 트리를 모두 뒤집어주는 방식을 이용
반응형
'🖥️ 문제 풀이 > 리트코드(Leetcode)' 카테고리의 다른 글
[LeetCode 해석 및 풀이] 543. Diameter of Binary Tree (이진 트리에서의 지름) (0) | 2024.07.18 |
---|---|
[LeetCode 해석 및 풀이] 104. Maximum Depth of Binary Tree(이진 트리의 최대 깊이) (0) | 2024.07.04 |
[LeetCode 해석 및 풀이] 146. LRU Cache (0) | 2024.06.07 |
[LeetCode 해석 및 풀이] 287. Find the Duplicate Number (1) | 2024.06.06 |
[LeetCode 해석 및 풀이] 141. Linked List Cycle (0) | 2024.06.05 |
댓글