LeetCode > 101. Symmetric Tree

Doyeon Kim·2022년 3월 29일

코딩테스트 공부

목록 보기
45/171

문제 링크 : 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 복습

profile
성장하고 도전하는 개발자. 프로그래밍 좋아하세요?

0개의 댓글