# 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 sumNumbers(self, root: Optional[TreeNode]) -> int:

        if root == None:

            return 0

        s = []

        q = deque([(root, str(root.val))])

        while q:

            c, v = q.popleft()

            if c.left != None:

                q.append((c.left, v + str(c.left.val)))

            if c.right != None:

                q.append((c.right, v + str(c.right.val)))

            if c.left == None and c.right == None:

                s.append(int(v))

        return sum(s)


바이너리 트리를 너무 좋아하는 릿코드..