Python3 合并二叉树的实现


Posted in Python onSeptember 30, 2019

题目要求:给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。

解决思想:遇到二叉树,首先想到的是递归实现。为了降低空间消耗,两个二叉树合并为一个时,不再新建树。初始给定两个树的当前结点(根结点)t1、t2,若t1和t2节点均不为空,t1节点值更新为t1+t2的值,递归遍历当前节点的左子树和右子树;如果任意其中一个节点为空,且不全为空,返回非空节点;如果两节点均为空,返回None。

直接上代码( ̄? ̄):

# Definition for a binary tree node.
# class TreeNode:
#   def __init__(self, x):
#     self.val = x
#     self.left = None
#     self.right = None

class Solution:
  def mergeTrees(self, t1: TreeNode, t2: TreeNode) -> TreeNode:
    if t1!=None and t2!=None:
      t1.val+=t2.val
      t1.left = self.mergeTrees(t1.left,t2.left)
      t1.right = self.mergeTrees(t1.right,t2.right)
    elif t1==None and t2!=None:
      return t2
    elif t1!=None and t2==None:
      return t1
    else:
      return None
    return t1

时间空间消耗:

Python3 合并二叉树的实现

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
用Python制作简单的钢琴程序的教程
Apr 01 Python
在Python中使用全局日志时需要注意的问题
May 06 Python
Python学习教程之常用的内置函数大全
Jul 14 Python
Django项目中model的数据处理以及页面交互方法
May 30 Python
对python list 遍历删除的正确方法详解
Jun 29 Python
在python环境下运用kafka对数据进行实时传输的方法
Dec 27 Python
python多线程同步之文件读写控制
Feb 25 Python
Python进程间通信 multiProcessing Queue队列实现详解
Sep 23 Python
Python切图九宫格的实现方法
Oct 10 Python
用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)
Jun 04 Python
selenium如何定位span元素的实现
Jan 13 Python
Python数据分析入门之教你怎么搭建环境
May 13 Python
自适应线性神经网络Adaline的python实现详解
Sep 30 #Python
softmax及python实现过程解析
Sep 30 #Python
python根据时间获取周数代码实例
Sep 30 #Python
Win10 安装PyCharm2019.1.1(图文教程)
Sep 29 #Python
PyCharm2019安装教程及其使用(图文教程)
Sep 29 #Python
Python 文件操作之读取文件(read),文件指针与写入文件(write),文件打开方式示例
Sep 29 #Python
python3.7 利用函数os pandas利用excel对文件名进行归类
Sep 29 #Python
You might like
Linux系统下php获得系统分区信息的方法
2015/03/30 PHP
PHP批量生成图片缩略图的方法
2015/06/18 PHP
PHP将Excel导入数据库及数据库数据导出至Excel的方法
2015/06/24 PHP
JavaScript 仿关机效果的图片层
2008/12/26 Javascript
js 操作css实现代码
2009/06/11 Javascript
javascript作用域容易记错的两个地方分析
2012/06/22 Javascript
jquery实现页面图片等比例放大缩小功能
2014/02/12 Javascript
Mongoose中document与object的区别示例详解
2017/09/18 Javascript
详解Vue SPA项目优化小记
2018/07/03 Javascript
react中实现搜索结果中关键词高亮显示
2018/07/31 Javascript
node.js使用zlib模块进行数据压缩和解压操作示例
2020/02/12 Javascript
js实现小球在页面规定的区域运动
2020/06/16 Javascript
[00:08]DOTA2勇士令状等级奖励“天外飞星”
2019/05/24 DOTA
使用django的ORM框架按月统计近一年内的数据方法
2019/07/18 Python
浅析Windows 嵌入python解释器的过程
2019/07/26 Python
python multiprocessing模块用法及原理介绍
2019/08/20 Python
Python 解码Base64 得到码流格式文本实例
2020/01/09 Python
检测tensorflow是否使用gpu进行计算的方式
2020/02/03 Python
python实现交并比IOU教程
2020/04/16 Python
在Anaconda3下使用清华镜像源安装TensorFlow(CPU版)
2020/04/19 Python
树莓派升级python的具体步骤
2020/07/05 Python
学python爬虫能做什么
2020/07/29 Python
HTML5 input placeholder 颜色修改示例
2014/05/30 HTML / CSS
基于HTML5 Canvas的3D动态Chart图表的示例
2017/11/02 HTML / CSS
英国知名衬衫品牌美国网站:Charles Tyrwhitt美国
2016/08/28 全球购物
泰国办公用品购物网站:OfficeMate
2018/02/04 全球购物
Agoda.com官方网站:便宜预订全球酒店,高达80%的折扣
2018/04/04 全球购物
英国女性时尚品牌:Apricot
2018/12/04 全球购物
Hush Puppies澳大利亚官网:舒适的男女休闲和正装鞋
2019/08/24 全球购物
好书伴我成长演讲稿
2014/05/14 职场文书
卫生院健康教育实施方案
2014/06/07 职场文书
酒店宣传语大全
2015/07/13 职场文书
行为规范主题班会
2015/08/13 职场文书
2019年中,最受大众欢迎的6本新书
2019/08/07 职场文书
三年级作文之趣事作文
2019/11/04 职场文书
SpringBoot项目多数据源及mybatis 驼峰失效的问题解决方法
2022/07/07 Java/Android