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;
    }
}
相关推荐
圣保罗的大教堂16 小时前
leetcode 3867. 数对的最大公约数之和 中等
leetcode
To_OC18 小时前
LC 15 三数之和:双指针不难,难的是把去重做对
javascript·算法·leetcode
renhongxia120 小时前
世界模型,是“空中楼阁”还是AGI的“最后一块拼图”?
运维·服务器·数据库·人工智能·算法·agi
G.O.G.O.G21 小时前
LeetCode SQL 从入门到精通(MySQL)06(上)
数据库·sql·mysql·leetcode
zephyr051 天前
动态规划-最长上升子序列问题
算法·动态规划
闪电悠米1 天前
力扣hot100-56.合并区间-排序详解
数据结构·算法·leetcode·贪心算法·排序算法
卡提西亚1 天前
leetcode-1438. 绝对差不超过限制的最长连续子数组
算法·leetcode·职场和发展
Java面试题总结1 天前
LeetCode 93.复原IP地址
算法·leetcode·职场和发展·.net
从零开始的代码生活_1 天前
C++ 多态详解:虚函数、动态绑定、抽象类与虚表原理
开发语言·c++·后端·学习·算法
Tisfy1 天前
LeetCode 3867.数对的最大公约数之和:按题目说的做(gcd)
算法·leetcode·题解·模拟·最大公约数·gcd