617.合并二叉树

给你两棵二叉树: root1root2

想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的节点。

返回合并后的二叉树。

注意: 合并过程必须从两个树的根节点开始。

java 复制代码
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    public TreeNode mergeTrees(TreeNode root1, TreeNode root2) {
        if ( root1 ==null) return root2;
        if ( root2 == null) return root1;

        TreeNode merged = new TreeNode(root1.val + root2.val);

        merged.left = mergeTrees(root1.left, root2.left);
        merged.right = mergeTrees(root1.right, root2.right);

        return merged;
    }
}
相关推荐
随遇而安zx5 分钟前
【多线程】---ConcurrentHashMap 源码解析
java·多线程·并发
luj_17688 分钟前
一线一区一变破解人盯人防守密码
开发语言·网络·c++·经验分享·算法
不才不才不不才12 分钟前
Spring 源码系列(27): @Transactional 七大失效场景与源码归因
java·后端·spring
随遇而安zx15 分钟前
【多线程】---线程池 ThreadPoolExecutor 原理与调优
java·线程池·多线程
抠脚小弟18 分钟前
WebSocketServer 使用详解:从入门到实战
java·spring·websocketserver
随便做点啥22 分钟前
32卡64G-910B4-16后端集群部署报告
java·大数据·运维
Wang's Blog31 分钟前
Java框架快速入门: Spring Security+OAuth2之字段验证与自定义验证注解实战
java·算法·spring
CodeStats32 分钟前
【Java 类加载器】Java 类加载器完整体系深度拆解(上):从 JVM 启动到双亲委派模型
java·开发语言·jvm·classloader·双亲委派
带多刺的玫瑰37 分钟前
Leecode#29刷题之两数相除
java·python·算法
smj2302_7968265238 分钟前
解决leetcode第4017题数组中的峰值II
python·算法·leetcode