본문 바로가기
Coding Test/LeetCode

[LeetCode] 226. Invert Binary Tree [Python(파이썬)]

'파이썬 알고리즘 인터뷰'를 보고 작성한 글입니다. 😀

문제 👉 <Invert Binary Tree - LeetCode>

1. 문제 (이진 트리 반전)

중앙을 기준으로 트리를 반전하라.


2. 풀이

python의 특징을 이용한 풀이

BFS를 이용한 풀이

3. 코드

# 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: TreeNode) -> TreeNode:
        # Python
        # if root:
        #     root.left, root.right = self.invertTree(root.right), self.invertTree(root.left)
        #     return root
        # return None


        # BFS
        q = collections.deque([root])

        while q:
            node = q.popleft()
            if node:
                node.left, node.right = node.right, node.left

                q.append(node.left)
                q.append(node.right)

        return root
  • 결과 :
방식 Status Runtime Memory Language
Python [Accepted] 28 ms 13.8 MB python3
BFS [Accepted] 28 ms 14 MB pytthon3


References


🏋🏻 개인적으로 공부한 내용을 기록하고 있습니다.
잘못된 부분이 있다면 과감하게 지적해주세요!! 🏋

댓글