leetcode617. 合并二叉树
一:题目
二:上码
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {public:/**思路: 1.因为我们要从头节点开始 所以我们需要用到前序遍历2.递归三部曲1>:确定递归函数的参数和返回值TreeNode* preorder (TreeNode* root1, TreeNode* root2) {2>:确定递归函数的终止条件if(root1 == NULL) return root2;//当我们root1指向的节点为空的的话,//那么此时新的二叉树此时的节点是root2指向的节点,if(root2 == NULL) return root1; 3>:确定递归函数的递归体//这里我们选择的是在root1合并的,这里可能会有误解,如果在递归终止的条件下 //返回的是root2,那么和root1会不会有什么冲突?答案是没有,因为我们可以知道//我们是选择的是在root1上进行建立新的二叉树,只是将root2作为root1->left 或者 root1->right root1->val += root2->val; root1->left = preorder(root1->left,root2->left);root2->right = preorder(root1->right,root2->right);*/TreeNode* preorder (TreeNode* t1, TreeNode* t2) {if(t1 == NULL) return t2;//当我们root1指向的节点为空的的话,//那么此时新的二叉树此时的节点是root2指向的节点,if(t2 == NULL) return t1; t1->val += t2->val; t1->left = preorder(t1->left,t2->left);t1->right = preorder(t1->right,t2->right);return t1;}TreeNode* mergeTrees(TreeNode* root1, TreeNode* root2) {return preorder(root1,root2);}
};
菜鸡杰 菜鸡杰 你是最棒的!!
leetcode617. 合并二叉树相关推荐
- leetcode617. 合并二叉树(dfs)
给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠.你需要将他们合并为一个新的二叉树.合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 ...
- 《LeetCode力扣练习》第617题 合并二叉树 Java
<LeetCode力扣练习>第617题 合并二叉树 Java 一.资源 题目: 给你两棵二叉树: root1 和 root2 . 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些 ...
- 牛客题霸 [合并二叉树] C++题解/答案
牛客题霸 [合并二叉树] C++题解/答案 题目描述 已知两颗二叉树,将它们合并成一颗二叉树.合并规则是:都存在的结点,就将结点值加起来,否则空的位置就由另一个树的结点来代替.例如: 两颗二叉树是: ...
- 【LeetCode】【HOT】617. 合并二叉树(递归)
[LeetCode][HOT]617. 合并二叉树 文章目录 [LeetCode][HOT]617. 合并二叉树 package hot;import java.util.ArrayDeque; im ...
- 算法训练营 day20 二叉树 最大二叉树 合并二叉树 二叉搜索树中的搜索 验证二叉树
算法训练营 day20 二叉树 最大二叉树 合并二叉树 二叉搜索树中的搜索 验证二叉树 最大二叉树 654. 最大二叉树 - 力扣(LeetCode) 给定一个不重复的整数数组 nums . 最大二叉 ...
- Leetcode.617 合并二叉树
题目链接 Leetcode.617 合并二叉树 easy 题目描述 给你两棵二叉树: root1和 root2. 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会) ...
- LeetCode 617. 合并二叉树
617. 合并二叉树 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客,亓官劼的博客2. 难度 简单 题目 给定两 ...
- 合并二叉树—leetcode617
给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠. 你需要将他们合并为一个新的二叉树.合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 ...
- 小米面试题:合并二叉树
题目描述: 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠. 你需要将他们合并为一个新的二叉树.合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新 ...
最新文章
- 哈工大威海c语言实验报告 第八章 无法运行程序,哈工大(威海)c语言实验报告册答案...
- 一步一步 Mac OS X 与 Windows 7 双系统共存 的“黑苹果” 电脑 安装 入门
- 端口保护:如果你不把我当回事,我就会让你好看
- 数字图像处理实验(6):PROJECT 04-02,Fourier Spectrum and Average Value
- VMWare中修改CentOS虚拟机静态IP后主机没法访问虚拟机
- 软件工程—让软件包自带commit id
- 第二次作业--熟悉使用工具
- 如何理解 Graph Convolutional Network(GCN)?
- Ubuntu:查询计算机软硬件信息
- 【MySQL】MySQL中的查询语句的详解----等值连接、左连接、右连接、全连接
- react脚手架构建工程
- matlab教程 当当,MATLAB实用教程(第4版)
- retina屏 适配问题
- 如何用python简单做一个植物大战僵尸 源码
- 计算机桌面怎么能添加文字,怎么在桌面上添加文字便签
- JavaWeb开发专题(一)-JavaWeb入门
- 怎么实时查看mysql当前连接数呢
- 中国独角兽上市潮,爱奇艺优信小米值得投资吗? | 一点财经
- nexus3的配置阿里云代理仓库
- 基于ZYNQ7000的交叉编译工具链Qt+OpenCV+ffmpeg等库支持总结(一)
热门文章
- 如何使 WebAPI 自动生成漂亮又实用在线API文档
- Xamarin Evolve 2016 Keynote回顾
- django13:Session与Cookie操作
- 【ArcGIS Pro微课1000例】0014:两种坐标系全国1km分辨率DEM下载地址(WGS84+Albers投影)
- linux网络编程之inet_addr和inet_ntoa使用总结
- 设计模式的分类和六大设计原则
- vsftpd使用方法小结、Linux安装JDK出现“NoClassDefFoundError: /Object”的解决方案、ubuntu 12.04安装jdk
- 微信小程序python token验证_微信小程序python 用户认证
- encodingaeskey java,消息体签名与加解密-开发者QA
- java socket 路由_JAVA简单的Socket网络编程!CS