Home Invert Binary Tree
Post
Cancel

Invert Binary Tree

Leetcode Problem

Invert Binary Tree

주어진 binary tree를 좌우반전시키는 문제입니다.

1
2
3
4
5
6
7
8
9
class Solution:
    def invertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]:
        if root:
            node = root.left
            root.left = root.right
            root.right = node
            self.invertTree(root.left)
            self.invertTree(root.right)
        return root 

두 변수의 값을 교환하는 swap 방식을 treenode에도 적용시켰습니다.

1
2
3
4
5
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        

solutions의 풀이를 응용했습니다.
‘,’를 활용하면 swap 방식의 필요가 없어지면서 동시에 recursive를 활용하여 코드의 크기도 줄였습니다.





참고

This post is licensed under CC BY 4.0 by the author.