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;
    }
}
相关推荐
To_OC10 小时前
从一次栈溢出报错说起,我把递归彻底扒明白了
javascript·算法·程序员
千纸鹤安安15 小时前
千问Qwen-AgentWorld来了:一个语言模型搞定七大Agent场景,GPT-5.4都输了
算法
七牛开发者17 小时前
MCP 到底是什么?为什么 Agent 都想接上它
算法·aigc·agent
kisshyshy1 天前
从递归到迭代,一文吃透二叉树的核心知识与 JavaScript 实现
javascript·算法·代码规范
To_OC1 天前
LC 49 字母异位词分组:想到哈希表很简单,选对 key 才是精髓
javascript·算法·leetcode
用户938515635072 天前
从 O(n²) 到 O(nlogn):一文读懂快速排序的“快”与“妙”
javascript·算法
To_OC2 天前
手写快排次次翻车?别死背快排模板了,这才是面试官想听的底层逻辑
javascript·算法·排序算法
饼干哥哥2 天前
Reddit VOC调研太慢?搭一个AI专家团队半小时洞察任何品类|以猫用饮水机为例
人工智能·算法·ai编程