[LeetCode] 617. Merge Two Binary Trees

lemythe423Β·2023λ…„ 8μ›” 24일
post-thumbnail

πŸ”—

풀이

두 개의 트리λ₯Ό 루트 λ…Έλ“œλΆ€ν„° 리프 λ…Έλ“œκΉŒμ§€ νƒμƒ‰ν•œλ‹€. 각각의 κ³Όμ •μ—μ„œ μƒˆλ‘œμš΄ λ…Έλ“œλ“€μ„ μƒμ„±ν•˜κ³ , μƒˆλ‘­κ²Œ μƒμ„±λœ λ…Έλ“œμ˜ 값은 같은 μœ„μΉ˜μ— μžˆλŠ” 두 트리의 λ…Έλ“œ κ°’μ˜ 합을, μ™Όμͺ½κ³Ό 였λ₯Έμͺ½ μžμ‹λ“€μ— λŒ€ν•΄μ„œλŠ” 두 트리의 λ…Έλ“œλ“€μ˜ μ™Όμͺ½, 였λ₯Έμͺ½ μžμ‹μ˜ 값을 λ„˜κ²¨μ£ΌλŠ” λ°©μ‹μœΌλ‘œ μ§„ν–‰λœλ‹€.

class Solution:
    def mergeTrees(self, root1: Optional[TreeNode], root2: Optional[TreeNode]) -> Optional[TreeNode]:
        if root1 and root2:
            node = TreeNode(root1.val + root2.val)
            node.left = self.mergeTrees(root1.left, root2.left)
            node.right = self.mergeTrees(root1.right, root2.right)
            return node
        return root1 or root2

μƒˆλ‘œμš΄ λ…Έλ“œ μΈμŠ€ν„΄μŠ€λ₯Ό μƒμ„±ν•˜κ³  val κ°’λ§Œ λ„˜κ²¨μ€€λ‹€.

profile
μ•„λ¬΄λ§μ΄λ‚˜ν•˜κΈ°

0개의 λŒ“κΈ€