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

Day102 | 灵神 | 二叉树 合并二叉树

Day102 | 灵神 | 二叉树 合并二叉树

617.合并二叉树

617. 合并二叉树 - 力扣(LeetCode)

思路:

就是新建一个结点,然后找到左右子树给接上去把该节点返回就是了

接子树的时候有下面几种情况

1.如果root1当前结点不为空,而root2为空的话,那就返回root1作为上层递归函数的结点t的左子树或者右子树

2.如果root2当前结点不为空,而root1为空的话,那就返回root2作为上层递归函数的结点t的左子树或者右子树

3.如果root1当前结点为空,而root2也为空的话,那就返回nullptr

4.如果root1当前结点不为空,而root2也不为空的话,那就把这两个结点的val相加作为当前结点t的val然后返回即可

完整代码:

class Solution {
public:TreeNode* tra(TreeNode *t1,TreeNode *t2,TreeNode *t){if(t==nullptr)t=new TreeNode;if(t1==nullptr&&t2!=nullptr)return t2;else if(t1!=nullptr&&t2==nullptr)return t1;else if(t1==nullptr&&t2==nullptr)return nullptr;else t->val=t1->val+t2->val;/*这样写也行if(t1==nullptr)return t2;else if(t2==nullptr)return t1;else t->val=t1->val+t2->val;*/t->left=tra(t1->left,t2->left,t->left);t->right=tra(t1->right,t2->right,t->right);return t;}TreeNode* mergeTrees(TreeNode* root1, TreeNode* root2) {TreeNode *res=new TreeNode;return tra(root1,root2,res);}
};

灵神代码:

class Solution {
public:TreeNode* mergeTrees(TreeNode* root1, TreeNode* root2) {if (root1 == nullptr) return root2;if (root2 == nullptr) return root1;return new TreeNode(root1->val + root2->val,mergeTrees(root1->left, root2->left),    // 合并左子树mergeTrees(root1->right, root2->right)); // 合并右子树}
};
http://www.xdnf.cn/news/160813.html

相关文章:

  • 开发首个Spring Boot应用
  • 访问Redis时遇到 unknown command ‘FT.INFO‘, with args beginning with 错误的解决方案
  • MATLAB中调用CPLEX求解工具箱
  • Python + Playwright:如何在Docker 容器运行测试?
  • 0x27 A* + 0x28 IDA*
  • Adobe Photoshop(PS)2022 版安装与下载教程
  • 前端开发本地配置 HTTPS 全面详细教程
  • HackMyVM - Chromee靶机
  • 人工智能:入门阶段学习路径
  • per-task affinity 是什么?
  • 30天通过软考高项-第四天
  • Python循环语句-for循环(基础语法,range语句,临时变量作用域,嵌套应用)
  • 【计算机视觉】CV实战项目- DFace: 基于深度学习的高性能人脸识别
  • leetcode201.数字范围按位与
  • S参数的含义
  • 如何搭建和管理 FTP 服务器
  • 电商秒杀系统技术栈与难点解析 - Java架构师面试实战
  • 《Vue3学习手记5》
  • Redux和MobX有什么区别
  • 通过Golang实现快速实现MCP Server
  • 如何创建成员内部类数组
  • 小刚说C语言刷题——1109加密四位数
  • [笔记] MCPO搭建教程
  • 河南联通光猫超级管理员账号设置
  • 2025新版修复蛇年运势测试风水起名系统源码
  • VS BUG(6) LINK : fatal error LNK1158: 无法运行“rc.exe”
  • 自动化运维:从工具到实践的全面解析
  • C语言中转义字符的定义与使用详解
  • 基于ssm的仓库管理系统(源码+数据库)
  • 开源AI视频FramePack发布:6GB显卡本地运行