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

网站构成Wordpress游戏rpg

网站构成,Wordpress游戏rpg,中信建设有限责任公司地址在哪,建设一下网站要求提供源码重建二叉树 题目描述 给定节点数为 n 的二叉树的前序遍历和中序遍历结果,请重建出该二叉树并返回它的头结点。 例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出如下图所示。 提示: 1.vin.length pre.length 2.pre 和…

重建二叉树

题目描述
给定节点数为 n 的二叉树的前序遍历和中序遍历结果,请重建出该二叉树并返回它的头结点。
例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出如下图所示。
tupian1
提示:
1.vin.length == pre.length
2.pre 和 vin 均无重复元素
3.vin出现的元素均出现在 pre里
4.只需要返回根结点,系统会自动输出整颗树做答案对比
数据范围:n≤2000,节点的值:−10000≤val≤10000
要求:空间复杂度 O(n),时间复杂度 O(n)

思考了好几天没有想到解题方法,以下方案参考了大家的解题思路:

采用的方法:递归
递归是一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。因此递归过程,最重要的就是查看能不能讲原本的问题分解为更小的子问题,这是使用递归的关键。

思路:二叉树的前序遍历,我们可以直到第一个元素是根节点,因为序列没有重复的元素,我们可以从中序遍历中找到根节点,将一个树分为左子树和右子树两个部分。
具体做法:

  1. 先根据前序遍历第一个点构建根节点;
  2. 然后根据中序遍历找到根节点在数组中的位置;
  3. 再按照字数的节点数将两个遍历的序列分割成子数组,将子数组送入函数构建子树;
  4. 直到子树的序列长度为0,结束递归。
class TreeNode:def __init__(self, x):self.val = xself.left = Noneself.right = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param preOrder int整型一维数组 
# @param vinOrder int整型一维数组 
# @return TreeNode类
#
class Solution:def reConstructBinaryTree(self , preOrder: List[int], vinOrder: List[int]) -> TreeNode:# write code here# 分别获取中序遍历和前序遍历的长度len_pre = len(preOrder)len_vin = len(vinOrder)# 判断这两个长度都不为0if len_pre == 0 or len_vin == 0:return None# 构建根节点root = TreeNode(preOrder[0])# 从中序遍历中找到根节点所在的位置for i in range(len_vin):if preOrder[0] == vinOrder[i]:# 获取左子树的前序遍历left_pre = preOrder[:i]# 获取左子树的中序遍历left_vin = vinOrder[1:i+1]# 构建左子树root.left = reConstructBinaryTree(left_pre, left_vin)# 获取右子树的前序遍历right_pre = preOrder[i+1:]# 获取右子树的中序遍历right_vin = vinOrder[i+1:]# 构建右子树root.right = reConstructBinaryTree(right_pre, right_vin)breakreturn root
http://www.yayakq.cn/news/32150/

相关文章:

  • 网站怎么做弹幕播放器jquery+js网站模板免费下载
  • 做一个网站完整的网页wordpress发邮件插件
  • 建网站为什么每年都要续费游戏网页版点击即玩
  • 天津网站备案在哪照相高端集团网站建设
  • 广安发展建设集团公司网站北京网站建设公司文字排版
  • 做网站的外包能学到什么企业策划书内容
  • 东凤镇做网站公司工信部网站备案怎么查询
  • 郑州响应式网站三部曲网站建设
  • 川畅科技网站设计淘宝代运营
  • 红酒 公司 网站建设晋江市建设招投标网站
  • 用yii框架做的网站如何搭建网站文章采集工具
  • 网站制作的收费推广分享
  • 手机端网站开发建设内容手工制作玫瑰花
  • c2c商城网站建设方案谷城网站开发
  • 中国建站平台网站后台管理的超链接怎么做
  • 专门做图片的网站吗wordpress 虚拟货币模块
  • 个人做外贸网站违法吗中国采购与招标网官网首页
  • 广州网站建设哪里买做旅游网站的要求
  • 网站开发项目扶持政策有哪些制作小程序公司
  • 公司网站制作怎么弄网站如何留言
  • 网站如何做301平面设计培训学什么
  • 做网站运作国珍国内包装设计网站
  • 源代码开发网站上海广告公司排名前十强
  • 免费建网站网址东莞企业网站建设多少钱
  • wordpress 加密查看天津软件优化公司排名前十
  • 想做一个网站怎么做seo综合查询怎么用
  • 做网站常用的软件新网站如何推广
  • 做关键词搜索的网站上海自己注册公司
  • 网站模板怎么制作网络舆情平台
  • 搜狐快站建站公司的网站推广