# 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 eq(self, a, b):

        if a == None and b == None: return -1

        if a == None and b != None: return 0

        if a != None and b == None: return 0

        return 1 if a.val == b.val else 0

    def isSymmetric(self, root: Optional[TreeNode]) -> bool:

        x = self.eq(root.left, root.right)

        if x == 0: return False

        if x == -1: return True

        s = deque([(root.left, root.right)])

        while len(s):

            c1, c2 = s.popleft()

            x = self.eq(c1.left, c2.right)

            if x == 0: return False

            if x == 1: s.append((c1.left, c2.right))

            x = self.eq(c1.right, c2.left)

            if x == 0 : return False

            if x == 1: s.append((c1.right, c2.left))

        return True


그래도 None 체크하느라 꽤 귀찮았는데 Easy가 맞는지 모르겠다