문제 링크 : https://leetcode.com/problems/symmetric-tree/
왼쪽 노드와 오른쪽 노드를 비교하는 문제이다..
class Solution:
def isSymmetric(self, root: TreeNode) -> bool:
if not root: #루트가 없으면 True 반환
return True
return self.check(root.left, root.right) #루트의 좌우 값 비교
def check(self, left, right):
if left is None and right is None: #좌우 둘다 없으면 True
return True
if left is None or right is None: #좌우 중 하나 없으면 False
return False
if left.val != right.val: #좌우 값이 다르면 False
return False
a = self.check(left.left, right.right) #좌의 좌 값, 우의 우 값 비교
b = self.check(left.right, right.left) #좌의 우값, 우의 좌 값 비교
return a and b
트리 문제는... 풀어도 풀어도 낯설어....
\2022. 04.22 복습