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를 활용하여 코드의 크기도 줄였습니다.
참고