leetcode617-合并二叉树

leetcode 617

思路

要合并两个二叉树,那就要同时遍历两棵二叉树,找到对应的节点,将其值相加,我们可以最终就更新一棵树,假设我们最终更新root1这棵树,一开始root1的根节点是1,root2根节点是2,那么我们就把root1的根节点值设置为root1.val + root2.val就更新了root1,后序的节点也是一样的更新方式,如果出现了root1的某个节点为空,那直接返回root2的值就可以,因为合并后的值也是root2的值,最终合并完成后,返回root1

实现

js 复制代码
var mergeTrees = function (root1, root2) {
    const deep = (root1, root2) => {
        if(!root1) return root2;
        if(!root2) return root1;
        root1.val += root2.val;
        root1.left = deep(root1.left,root2.left)
        root1.right = deep(root1.right,root2.right)
        return root1
    }
    return deep(root1, root2)
};
相关推荐
怕浪猫2 小时前
GEO 优化到底是什么?AI时代内容创作者必须懂的新技能
算法·面试·github
朝朝辞暮i4 小时前
C++ 第 23 课:class —— 开始真正进入面向对象
开发语言·c++·算法
7yewh4 小时前
SLAM 三维空间刚体运动(2)
数据结构·人工智能·机器人·嵌入式·slam
Evand J4 小时前
【MATLAB例程】三维RRT+APF避障路径规划与到达角(AOA)定位算法|三维路径优化与定位仿真例程
算法·matlab·路径规划·代码·定位·rrt·aoa
leikooo4 小时前
用餐厅和盘子理解栈和堆
java·数据结构·链表·rust
weixin_307779135 小时前
有限产能智能排产与动态重排智能体:从需求解构到技术实现
开发语言·人工智能·算法·架构
朝朝辞暮i6 小时前
C++ 第 27 课:智能指针 shared_ptr
开发语言·c++·算法
朝朝辞暮i6 小时前
C++ 第 29 课:回调函数 Callback
开发语言·c++·算法
Godspeed Zhao7 小时前
现代智能雷达技术14——算法(0)
线性代数·算法·雷达
可乐ea7 小时前
Agent 模型分级升级路由:用置信度阈值把贵模型省下来
人工智能·算法·机器学习·结构化输出·置信度路由·模型升级路由·大模型成本优化