当前位置: 首页 > article >正文

力扣617:合并二叉树

给你两棵二叉树: root1 和 root2 。

想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的节点。

返回合并后的二叉树。

注意: 合并过程必须从两个树的根节点开始。

示例 1:

输入:root1 = [1,3,2,5], root2 = [2,1,3,null,4,null,7]
输出:[3,4,5,5,4,null,7]

示例 2:

输入:root1 = [1], root2 = [1,2]
输出:[2,2]

代码:

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     struct TreeNode *left;
 *     struct TreeNode *right;
 * };
 */
struct TreeNode* mergeTrees(struct TreeNode* root1, struct TreeNode* root2) {
    if(root1==NULL) return root2;
    if(root2==NULL) return root1;
    struct TreeNode* root=(struct TreeNode*)malloc(sizeof(struct TreeNode));
    root->val=root1->val+root2->val;
    root->left=mergeTrees(root1->left,root2->left);
    root->right=mergeTrees(root1->right,root2->right);
    return root;
}


http://www.kler.cn/a/392409.html

相关文章:

  • ArkTs简单入门案例:简单的图片切换应用界面
  • Spring MVC 与 JSP 数据传输
  • Springboot 日志处理(非常详细)
  • macOS解决U盘装完系统容量变小的问题
  • 链游系统定制化开发:引领游戏产业的新时代
  • hadoop大数据平台
  • Cesium基础-(Entity)-(label )
  • 如何快速开发一套MES系统?
  • SpringBoot(八)使用AES库对字符串进行加密解密
  • 每日计划-1109
  • Git - 日志
  • Python+Appium编写脚本
  • TCP(上):成熟可靠的传输层协议
  • MySQL中指定字段的某个值排在前面
  • PET-文件包含-FINISHED
  • LeetCode每日一题1547---切棍子的最小成本
  • [Docker#6] 镜像 | 常用命令 | 迁移镜像 | 压缩与共享
  • ElegantRL:高效、稳定的深度强化学习开源框架
  • 力扣872:叶子相似的树
  • 架构师考试 五大架构风格
  • Diffusion Policy——斯坦福机器人UMI所用的扩散策略:从原理到其编码实现(含Diff-Control、ControlNet详解)
  • Android 默认科大讯飞语音包 即 默认文字转语音TTS包
  • 借助Aapose.Cells ,在 Node.js 中将 Excel 转换为 JSON
  • Linux基础(十四)——BASH
  • 使用 Web Search 插件扩展 GitHub Copilot 问答
  • AST反混淆