Python 문제풀이/LeetCode

617. Merge Two Binary Trees (DFS , 재귀)

hjc_ 2022. 7. 12. 02:13

link

 

# 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 mergeTrees(self, root1: Optional[TreeNode], root2: Optional[TreeNode]) -> Optional[TreeNode]:
        if root1 is None:
            return root2
        if root2 is None:
            return root1
        
        root1.val += root2.val # 1 / 2
        root1.left = self.mergeTrees(root1.left, root2.left)  # 3, 5 / 1, 4
        root1.right = self.mergeTrees(root1.right, root2.right) # 2 / 3, 7
        
        return root1