LeetCode:617. 合并二叉树

简介

题目链接:https://leetcode.cn/problems/merge-two-binary-trees/description/

解决方式:二叉树 + 递归

递归

思路:构造新的二叉树,将原本的两个二叉树按照相同的顺序往下递归,构造新的节点。大方向上先构造左子树再构造右子树。递到最深处时,子节点构造好左右子树然后往上归。

java 复制代码
class Solution {
    public TreeNode mergeTrees(TreeNode root1, TreeNode root2) {
        // 递归终止条件
        if(root1 == null) return root2;
        if(root2 == null) return root1;

        // 构造新的二叉树节点
        TreeNode root = new TreeNode(root1.val + root2.val);

        // 左子树
        root.left = mergeTrees(root1.left, root2.left);
        // 右子树
        root.right = mergeTrees(root1.right, root2.right);

        return root;
    }
}
相关推荐
threerocks17 分钟前
Jev 入门第一课
算法
西柚研究生1234561 小时前
论文分析17:YOLOv11_UAVNet:无人机航拍图像专用目标检测算法
人工智能·python·深度学习·算法·目标检测
hetao17338372 小时前
2026-09-17 hetao1733837 的刷题记录
c++·算法
午彦琳3 小时前
2026.9.17
数据结构·算法·leetcode
木井巳3 小时前
【记忆化搜索】不同路径
java·算法·leetcode·深度优先·剪枝·推荐算法
怕浪猫4 小时前
从 Windows 换到 Mac 三个月,我真香了
算法·面试·架构
aichitang20245 小时前
前端小skill
前端·人工智能·算法·ai·前端框架
All for pursuit.6 小时前
【链表-9】146.LRU缓存
数据结构·c++·算法·leetcode
木子算法6 小时前
测出来的值会抖:约束和目标带噪声时,「可行」和「更好」该怎么判
人工智能·算法·目标跟踪
圣保罗的大教堂6 小时前
leetcode 1477. 找两个和为目标值且不重叠的子数组 中等
leetcode