#coding:utf-8
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param t1 TreeNode类 
# @param t2 TreeNode类 
# @return TreeNode类
#

class TreeNode:
    def __init__(self, x):
        self.val = x
        self.left = None
        self.right = None

class Solution:
    def get_node_val(self, node):
        if node == None:
            return 0
        return node.val

    def mergeTrees(self , t1 , t2 ):
        # write code here
        #bfs node
        ##corner case
        if t1 == None:
            return t2 
        if t2 == None:
            return t1
        ##common case2
        t1_val = self.get_node_val(t1)
        t2_val = self.get_node_val(t2)
        node = TreeNode(t1_val + t2_val)
        node.left = self.mergeTrees(t1.left, t2.left)
        node.right = self.mergeTrees(t1.right, t2.right)

        #
        return node