Problem :

https://leetcode.com/problems/merge-two-binary-trees/description/


My Solution :

# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None

class Solution:
def mergeTrees(self, t1, t2):
"""
:type t1: TreeNode
:type t2: TreeNode
:rtype: TreeNode
"""
if t1 and t2:
t1.val += t2.val
t1.left = self.mergeTrees(t1.left, t2.left)
t1.right = self.mergeTrees(t1.right, t2.right)
else:
t1 = t1 or t2
return t1


Comment :

새로운 Tree를 만들지 않고 그냥 recursion 하면서 t1에다 val이나 reference를 update 치는 방식으로 구현하였다.