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

实现网站计划书整合营销的特点有哪些

实现网站计划书,整合营销的特点有哪些,医院工程建设网站,中国建设布网站题目 输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。 假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 示例 1: Input: preorder [3,9,20,15,7], inorder [9,3,15,20,7]Output: [3,9,20,null,null,15,7] 示例 2: Input: preo…

题目

输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。

假设输入的前序遍历和中序遍历的结果中都不含重复的数字。

示例 1:

Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]
Output: [3,9,20,null,null,15,7]


示例 2:

Input: preorder = [-1], inorder = [-1]
Output: [-1]

限制:

  • 0 <= 节点个数 <= 5000

解题思路

1.题目要求我们利用前序遍历和中序遍历构建出二叉树,我们可以画图来理解一下

举个例子:

根据我们对数据结构中二叉树部分的学习,我们知道前序遍历是(根左右)所以第一个元素一定是这颗二叉树的根。

 

那么中序遍历是(左右根),所以数字 3 左边的是它的左子树部分,右边的是他的右子树部分。 设 3 在数组 inorder中的下标为 i,

前序遍历:左子树部分 [ l1 + 1, l1 + (i - l2) ]     右子树部分 [l2, i - 1]

中序遍历:左子树部分 [l1 + (i - l2) + 1, r1]    右子树部分[i + 1, r2]

 

 我们按照这个思想继续处理 3 的左子树和右子树, 也就是进行递归操作,

3 的左子树中 9 为根节点,那么 5 和 6 为 9 的左右子树,3 的右子树中 20 为根节点,15 和7 为 3 的左右子树。最终生成的数如下图所示

 2.代码部分首先我们判断所给数组是否为空,若为空直接返回 null;然后我们新建一个map 用于存储inorder数组的下标和对应的值,方便我们后序对 root 所对应的数组下标进行查找。

然后我们让root = f( ) 函数。

3.f( ) 函数的作用是利用传入的前序遍历和中序遍历的数组,找到二叉树的 root 节点,并将数组划分为 root 节点的左右子树。结束条件为 r1 < l1 && r2 < l2。处理完成后返回 root 即可。

代码实现

class Solution {Map<Integer,Integer> map = new HashMap();public TreeNode buildTree(int[] preorder, int[] inorder) {if(preorder == null || preorder.length <= 0){return null;}for(int i = 0; i < inorder.length; i++){map.put(inorder[i],i);}TreeNode root = f(preorder, 0, preorder.length - 1, inorder, 0, inorder.length - 1);return root;}public TreeNode f(int[] preorder, int l1, int r1, int[] inorder, int l2, int r2){if(r1 < l1 && r2 < l2){return null;}TreeNode root = new TreeNode(preorder[l1]);int i = map.get(preorder[l1]);root.left = f(preorder, l1 + 1, l1 + (i - l2), inorder, l2, i - 1);root.right = f(preorder,l1 + (i - l2) + 1, r1, inorder, i + 1, r2);return root;}
}

测试结果

 

 

http://www.ds6.com.cn/news/100790.html

相关文章:

  • 青岛建站seo公司上海公司排名
  • 活动营销推广方案网络舆情优化公司
  • 电商基础入门教程网站优化技巧
  • 毕业论文的网站做企业seo服务
  • 做二手房的端口网站2023年新闻热点事件摘抄
  • 搭建网站 在线浏览功能东营优化公司
  • 想做机械加工和橡胶生意怎么做网站91关键词排名
  • 建立旅游公司网站多钱网站营销软文
  • 做彩票的网站吗廊坊seo整站优化
  • 点击即玩的小游戏网站今日头条网页版入口
  • 单职业传奇网站seo就业前景如何
  • 中国建设银行网站首页签约网站搜索优化技巧
  • 在线教育网站源码淄博网站seo
  • 免费网站平台亚马逊提升关键词排名的方法
  • 企业网站为什么要备案百度建站云南服务中心
  • 南京小程序开发网站建设免费发布推广信息的软件
  • 数据库对于做网站的重要性看颜色应该搜索哪些词汇
  • 电商平台网站制作哪个平台做推广效果好
  • 网站做飘浮怎么做柏乡seo快排优化
  • 关于进行网站建设费用的请示上海牛巨微seo关键词优化
  • wordpress建站后怎样发布刚出来的新产品怎么推
  • 动态网站首页模版在线搜索引擎
  • 外国网站域名在哪查贺州seo
  • 党政网站集群建设合同自媒体营销模式有哪些
  • 搭建一个网站要多少哪个推广平台推广最靠谱
  • 做网站 php asp.net jsp长沙seo袁飞
  • 新浪云怎么做淘宝客网站seo综合查询工具
  • 银川建立网站天津百度seo代理
  • 做盗版影视网站seo推广公司排名
  • 网站文章超链接怎么做潍坊关键词优化软件