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

广州白云区疫情最新消息今天广州网站设计实力乐云seo

广州白云区疫情最新消息今天,广州网站设计实力乐云seo,政务服务大厅网站建设方案,哈尔滨网页设计师招聘重建二叉树 题目描述 给定节点数为 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.hkea.cn/news/135211/

相关文章:

  • 动漫网站开发与建设百度网盘网页版入口官网
  • 咸阳做网站长沙网络营销外包哪家好
  • 专门做私人定制旅游的网站搜索引擎营销方法
  • 注册安全工程师管理系统网奇seo赚钱培训
  • 武汉市住房和城乡建设厅官方网站生猪价格今日猪价
  • 住房和城乡建设部网站诚信评价搜索引擎优化人员优化
  • 网站制作 太原网络营销专业课程
  • 做网站去哪个公司网络营销策划书的结构
  • 个人无网站怎样做cps广告深圳全网推广公司
  • 中国人可以做的c2c网站上海网站排名推广
  • 网站建设目标定位公司员工培训方案
  • 美工培训班学百度自然搜索排名优化
  • 网站建设自学多长时间搜索引擎营销的过程
  • 做cpa的网站源码seo的外链平台有哪些
  • 那个网站做外贸最好成都网站建设方案外包
  • 企业网站建设效益分析联合早报 即时消息
  • html5网页成品代码自媒体seo优化
  • 门户网站建设招投标网络seo啥意思
  • 游戏币销售网站建设百度热搜seo
  • 线上投票链接怎么做厦门搜索引擎优化
  • 网页设计课程主要内容seo学校
  • php 深圳 电子商务网站开发seo优化好做吗
  • 网站建设开发技术天津济南网站设计
  • 信息公开网站建设网店推广分为哪几种类型
  • 南皮网站建设价格seo搜索引擎优化方式
  • 网上购物系统的设计与实现论文长沙seo优化公司
  • 风景旅游网页制作素材seo推广灰色词
  • 网站制作网站建设网页设计页面
  • 网站开发兼容极速字体颜色推荐seo平台优化服务
  • wordpress建站流量齐三seo顾问