/*
 * function TreeNode(x) {
 *   this.val = x;
 *   this.left = null;
 *   this.right = null;
 * }
 */

/**
 * 
 * @param t1 TreeNode类 
 * @param t2 TreeNode类 
 * @return TreeNode类
 */
function mergeTrees(t1, t2) {
    // write code here
    // 获取节点
    function getNode(node, key) {
        if (node) {
            let val = key == 1 ? "left" : "right";
            return node ? node[val] : null;
        }
        return null;
    }
    // 合并节点
    function mergeNode(node1, node2) {
        if (node1 == null) {
            return node2;
        }
        if (node2 == null) {
            return node1;
        }
        node1.val = node1.val + node2.val;
        // 合并左节点
        node1.left = mergeNode(getNode(node1, 1), getNode(node2, 1));
        // 合并右节点
        node1.right = mergeNode(getNode(node1, 2), getNode(node2, 2));
        return node1;
    }
    let ans = mergeNode(t1, t2);
    return ans;
}
module.exports = {
    mergeTrees: mergeTrees
};