题解 | #合并二叉树#

合并二叉树

http://www.nowcoder.com/practice/7298353c24cc42e3bd5f0e0bd3d1d759

import java.util.*;

/*
 * public class TreeNode {
 *   int val = 0;
 *   TreeNode left = null;
 *   TreeNode right = null;
 * }
 */

public class Solution {
    /**
     * 
     * @param t1 TreeNode类 
     * @param t2 TreeNode类 
     * @return TreeNode类
     */
    public TreeNode mergeTrees (TreeNode t1, TreeNode t2) {
        // write code here
        if (t1 == null && t2 == null) {
            return null;
        }

        if (t1 != null && t2 == null) {
            return t1;
        }

        if (t1 == null && t2 != null) {
            return t2;
        }

        if (t1 != null && t2 != null) {
            t1.val += t2.val;
        }

        merge (t1, t2);

        return t1;
    }

    private void merge (TreeNode t1, TreeNode t2) {

        if (t2.left != null || t2.right != null) {
            if (t2.left != null) {
                if (t1.left == null) {
                    t1.left = new TreeNode(t2.left.val);
                } else {
                    t1.left.val += t2.left.val;
                }
                merge(t1.left, t2.left);
            } 
            if (t2.right != null) {
                if (t1.right == null) {
                    t1.right = new TreeNode(t2.right.val);
                } else {
                    t1.right.val += t2.right.val;
                }
                merge(t1.right, t2.right);
            }
        }
    }
}
全部评论

相关推荐

ResourceUtilization:你是我见过最美的牛客女孩
点赞 评论 收藏
分享
05-09 12:23
已编辑
华南理工大学 Java
野猪不是猪🐗:给他装的,双九+有实习的能看的上这种厂我直接吃⑨✌们拿它练练面试愣是给他整出幻觉了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务