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)
};
相关推荐
To_OC4 小时前
LC 51 N 皇后:我以为难的是回溯,结果栽在了对角线下标
javascript·算法·leetcode
2401_841495644 小时前
【操作系统】进程同步与互斥实验报告
c++·算法·操作系统·进程·并发·同步·互斥
小林ixn5 小时前
从零到一理解 React 父子组件通信:手写一个 Todo 应用带你彻底搞懂单向数据流
前端·javascript·react.js
窝子面8 小时前
手搓最简前后端协作-node
javascript·数据库
爱刷碗的苏泓舒8 小时前
PPP-AR 中的参考星选取:数学原理、评价指标与切换处理
算法·gnss·模糊度固定·ppp-ar·星间单差·参考星·卫星端偏差
kyriewen8 小时前
我让AI给前端项目做了一次完整的Code Review——它和人类的差距,比我想的大得多
前端·javascript·ai编程
এ慕ོ冬℘゜9 小时前
前端基础:什么是时间戳?JS获取时间戳三种方法与实战用途
开发语言·前端·javascript
sugar__salt10 小时前
Vue3 表单双向绑定与响应式核心 API 技术详解
前端·javascript·vue.js
SmartBoyW10 小时前
CSS弹性布局(Flexbox)学习笔记:从零开始搞懂弹性布局
前端·javascript