LeetCode 617. 合并二叉树

文章目录

    • 1. 题目
    • 2. 递归解题

1. 题目

给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。

你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。

示例 1:输入: Tree 1                     Tree 2                  1                         2                             / \                       / \                            3   2                     1   3                        /                           \   \                      5                             4   7                  
输出: 
合并后的树:3/ \4   5/ \   \ 5   4   7
注意: 合并必须从两个树的根节点开始。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/merge-two-binary-trees
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 递归解题

在这里插入图片描述

class Solution {
public:TreeNode* mergeTrees(TreeNode* t1, TreeNode* t2) {if(!t1 && !t2)return NULL;TreeNode *node = new TreeNode(0);if(t1 && !t2){node->val = t1->val;node->left = t1->left;node->right = t1->right;}else if(!t1 && t2){node->val = t2->val;node->left = t2->left;node->right = t2->right;}else//两个树种节点都存在{node->val = t1->val + t2->val;node->left = mergeTrees(t1->left, t2->left);node->right = mergeTrees(t1->right, t2->right);}return node;}
};
class Solution {// c++ 2020.9.23
public:TreeNode* mergeTrees(TreeNode* t1, TreeNode* t2) {if(!t1) return t2;if(!t2) return t1;auto l = mergeTrees(t1->left, t2->left);auto r = mergeTrees(t1->right, t2->right);t1->val += t2->val;t1->left = l;t1->right = r;return t1;}
};
class Solution: # py3def mergeTrees(self, t1: TreeNode, t2: TreeNode) -> TreeNode:if not t1:return t2elif not t2:return t1l = self.mergeTrees(t1.left, t2.left)r = self.mergeTrees(t1.right, t2.right)t1.val += t2.valt1.left = lt1.right = rreturn t1

100 ms 14.5 MB

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479513.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BIO,NIO,AIO

BIO,NIO,AIO 介绍一、背景1.1 说明1.2 通信技术整体解决的问题二、Java的I/O演进之路2.1 I/O 模型基本说明2.2 I/O模型Java BIOJava NIOJava AIO2.3 BIO、NIO、AIO 适用场景分析三、BIO,NIO,AIO总结一、背景 1.1 说明 ​ 在Java的软件设计开发中,通信架构是不可避…

学PyTorch还是TensorFlow?

在机器学习领域,面对各类复杂多变的业务问题,构建灵活易调整的模型是高阶机器学习工程师必备的工作能力。然而,许多工程师还是有一个想法上的误区,以为只要掌握了一种深度学习的框架就能走遍天下了。事实上,在机器学习…

Bifrost微前端框架及其在美团闪购中的实践

Bifrost(英 [‘bi:frɔst])原意彩虹桥,北欧神话中是连通天地的一条通道。而在漫威电影《雷神》中,Bifrost是神域——阿斯加德(Asgard)的出入口,神域的人通过它自由穿梭于“九界”(指…

设计模式之观察者模式在Listview中的应用

有时候我们会有这么一个需求,在Listview的某个Item上有个按钮,点击这个按钮之后呢,需要对其它的item做一些操作,就像下面这个: 采纳按钮点击之前:采纳按钮点击之后: 简单介绍一下这两张图的意…

新书速递 | 《知识图谱:方法、实践与应用》

本文转载自公众号:博文视点Broadview 。互联网促成了大数据的集聚,大数据进而促进了人工智能算法的进步。近年来知识图谱作为AI领域底层技术被越来越多的人谈起。知识图谱的升温得益于新数据和新算法为规模化知识图谱构建提供了新的技术基础和发展条件&a…

Github Star过万的阿里学长独家干货分享

浅梦是我认识的一位浙大计算机系的学长,目前在阿里从事算法相关的工作。无论在学校还是工作中,他都保持着对新知识的学习和分享。他的github star 1w,世界排名700,参与开发的项目下载量接近30w次。主要涉及「推荐系统」&#xff0…

React Native在美团外卖客户端的实践

MRN简介 MRN(Meituan React Native) 是基于开源的React Native框架改造并完善而成的一套动态化方案,在开发体验上基本能与原生RN保持一致,同时从业务需求的角度满足从开发、构建、测试、部署、运维的工程化需要。解决了一系列痛点…

论文浅尝 | 使用预训练深度模型和迁移学习方法的端到端模糊实体匹配

论文笔记整理:高凤宁,南京大学硕士,研究方向为知识图谱、实体消解。链接:https://doi.org/10.1145/3308558.3313578动机目前实体匹配过程中实体之间的差异比较微妙,不同的情况下可能会有不同的决策结果,导致…

推荐几个Android开发非常有用的工具(for android studio)

原文地址: http://stormzhang.com/android/2015/05/26/android-tools/ 一晃好久没更新博客了,最近一个月真的很忙,因为公司在准备C轮融资,公司的发展到了一个关键的阶段,自己全部精力投入在公司产品上,这个状态可能还会…

分布式机器学习(下)-联邦学习

原文链接:https://zhuanlan.zhihu.com/p/114028503 本视频来源于Shusen Wang讲解的《分布式机器学习》,总共有三讲,内容和连接如下:并行计算与机器学习(上)并行计算与机器学习(下)联…

怎样将Embedding融入传统机器学习框架?

文 | 石塔西源 | 知乎LR本身是一个经典的CTR模型,广泛应用于推荐/广告系统。输入的特征大多数是离散型/组合型。那么对于Embedding技术,如何在不使用深度学习模型的情况下(假设就是不能用DNN),融入到LR框架中呢&#x…

推荐系统中的Embedding

推荐系统之Embedding一、什么是embedding?1. 让embedding空前流行的word2vec:2. 从word2vec到item2vec二、Graph Embedding1. 经典的Graph Embedding方法 — DeepWalk2. DeepWalk改进 — Node2vec3. 阿里的Graph Embedding方法EGES三、深度学习推荐系统中…

美团下一代服务治理系统 OCTO 2.0 的探索与实践

本文根据美团基础架构部服务治理团队工程师郭继东在2019 QCon(全球软件开发大会)上的演讲内容整理而成,主要阐述美团大规模治理体系结合 Service Mesh 演进的探索实践,希望对从事此领域的同学有所帮助。 一、OCTO 现状分析 OCTO 是…

技术动态 | 跨句多元关系抽取

本文转载自公众号&#xff1a;知识工场。第一部分 概述关系抽取简介关系抽取是从自由文本中获取实体间所具有的语义关系。这种语义关系常以三元组 <E1,R,E2> 的形式表达&#xff0c;其中&#xff0c;E1 和E2 表示实体&#xff0c;R 表示实体间所具有的语义关系。如图1所示…

网络解析(一):LeNet-5详解

原文链接&#xff1a;https://cuijiahua.com/blog/2018/01/dl_3.html 2018年1月9日21:03:313994,282 C摘要LeNet-5出自论文Gradient-Based Learning Applied to Document Recognition&#xff0c;是一种用于手写体字符识别的非常高效的卷积神经网络。一、前言LeNet-5出自论文Gr…

LeetCode 69. x 的平方根(二分查找)

文章目录1. 题目2.解题2.1 二分查找2.2 牛顿迭代1. 题目 实现 int sqrt(int x) 函数。 计算并返回 x 的平方根&#xff0c;其中 x 是非负整数。 由于返回类型是整数&#xff0c;结果只保留整数的部分&#xff0c;小数部分将被舍去。 示例 1:输入: 4 输出: 2 示例 2:输入: 8…

Google综述:细数Transformer模型的17大高效变种

文 | 黄浴来源 | 知乎在NLP领域transformer已经是成功地取代了RNN&#xff08;LSTM/GRU&#xff09;&#xff0c;在CV领域也出现了应用&#xff0c;比如目标检测和图像加注&#xff0c;还有RL领域。这是一篇谷歌2020年9月份在arXiv发表的综述论文 “Efficient Transformers: A …

从ReentrantLock的实现看AQS的原理及应用

前言 Java中的大部分同步类&#xff08;Lock、Semaphore、ReentrantLock等&#xff09;都是基于AbstractQueuedSynchronizer&#xff08;简称为AQS&#xff09;实现的。AQS是一种提供了原子式管理同步状态、阻塞和唤醒线程功能以及队列模型的简单框架。本文会从应用层逐渐深入到…

论文浅尝 | 利用知识-意识阅读器改进的不完整知识图谱问答方法

论文笔记整理&#xff1a;谭亦鸣&#xff0c;东南大学博士生&#xff0c;研究方向为知识库问答。来源&#xff1a;ACL2019链接&#xff1a;https://www.aclweb.org/anthology/P19-1417/本文提出了一种融合不完整知识图谱与文档集信息的end2end问答模型&#xff0c;旨在利用结构…

MVP模式在Android中的应用(附UML高清大图,使用RecyclerView举例)

传了一张图&#xff0c;图比较大&#xff0c;请移步下载&#xff1a;http://download.csdn.net/detail/u011064099/9266245 在看代码之前&#xff0c;首先简单看一下什么是MVP模式&#xff1a;http://www.cnblogs.com/end/archive/2011/06/02/2068512.html MVP最核心就是将界面…