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

重庆网站品牌推广海外设计网站建设

重庆网站品牌推广,海外设计网站建设,用什么网站做海报,微信建站官网免费注册题目要求 给定两个整数数组 preorder 和 inorder #xff0c;其中 preorder 是二叉树的先序遍历#xff0c; inorder 是同一棵树的中序遍历#xff0c;请构造二叉树并返回其根节点。 提示: 1 preorder.length 3000inorder.length preorder.length-3000 pr…题目要求 给定两个整数数组 preorder 和 inorder 其中 preorder 是二叉树的先序遍历 inorder 是同一棵树的中序遍历请构造二叉树并返回其根节点。 提示: 1 preorder.length 3000inorder.length preorder.length-3000 preorder[i], inorder[i] 3000preorder 和 inorder 均 无重复 元素inorder 均出现在 preorderpreorder 保证 为二叉树的前序遍历序列inorder 保证 为二叉树的中序遍历序列 解题思路 一般而言知道一个二叉树的前序遍历和中序遍历就可以确定为唯一二叉树前提是没有重复的子元素在里面。 在前序遍历中我们知道一般是通过根左右的顺序进行遍历所以我们可以在前序遍历中找到根节点和当前根节点的左子树右子树的根节点。 而在中序遍历中根节点的左边是所有左子树的节点根节点的右边是所有右子树的节点依此我们可以推断出左右子树的长度。 根据根节点左右子树的长度作为条件可以使用回溯的方式进行二叉树的构建。 算法流程 递推参数 根节点在前序遍历的索引 root 、子树在中序遍历的左边界 left 、子树在中序遍历的右边界 right 。 终止条件 当 left right 代表已经越过叶节点此时返回 null 。 递推工作 1. 建立根节点 node 节点值为 preorder[root] 。 2. 划分左右子树 查找根节点在中序遍历 inorder 中的索引 i 。、 3. 构建左右子树 开启左右子树递归。 代码解析 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val val;* this.left left;* this.right right;* }* }*/ class Solution {MapInteger, Integer map;int[] preorder;int[] inorder;public TreeNode buildTree(int[] preorder, int[] inorder) {//首先建立中序遍历的哈希表方便根据根节点的值找到根节点的位置HashMapInteger, Integer map new HashMap();for (int i 0; i inorder.length; i) {map.put(inorder[i], i);}this.map map;this.preorder preorder;this.inorder inorder;return recursion(0,0,inorder.length-1);}public TreeNode recursion(int root, int left, int right) {//终止条件if(left right){return null;}//构建当前根节点TreeNode rootNode new TreeNode(preorder[root]);//当前根节点在中序遍历中的索引位置int rootInOrderindex map.get(preorder[root]);//开始递归构建左子树//左子树的根节点当前根节点在前序遍历的索引1因为 根左右//左子树的左节点在中序遍历中第一个节点必定在左子树中所以左子树的左节点必定是left 0//左子树的右节点中序遍历中右节点必定是当前根节点在中序遍历中的索引位置-1rootNode.left recursion(root1,left,rootInOrderindex-1);//开始递归构建右子树//右子树的根节点在前序遍历中当前根节点加上左子树的长度之后再加一个节点就是有字数的根节点//右子树的左节点在中序遍历中右子树的左节点一般是根节点在中序遍历中的索引1//右子树的右节点中序遍历中右子树的右节点是中序遍历的最后一个节点rootNode.right recursion(root rootInOrderindex - left 1,rootInOrderindex1,right);return rootNode;} }
http://www.hkea.cn/news/14427366/

相关文章:

  • 上海网站关键词优化服务网站建设与运营的论文的范本
  • 精神文明建设网站模板名者观看网站
  • 做二手手机交易网站茶楼 网站
  • 做网课网站海宁市住房与建设规划局网站
  • 网站用什么字体做正文wordpress手机端底部菜单
  • 最新网站建设软件临汾做网站电话
  • 一流的龙岗网站制作网站网讯
  • 网站内容更新方案网站如何做水晶按钮
  • 网站建设项目怎么跟进客户镇江关键字优化品牌
  • 做什么网站开发最简单网站开发部署到国外
  • nginx即代理又做网站wordpress数据库权限
  • 网站seo服务公司给公司建立网站
  • 国内做设计的网站建设海口手机版网站建设
  • 地产网站怎么做免费小程序制作软件
  • 新开传奇网站发布站三端互通西安网站建设流程
  • 网站后台显示不全视频网站焦点图
  • 网站文字设计建站软件
  • 社保官方网站登录入口爱站网是干嘛的
  • 婚庆网站策划wordpress 开放适配
  • 网站网页的像素尺wordpress 是什么
  • 做广告公司网站建设价格网站建设的具体方法
  • 广州网站备案方案网站站外优化推广方式
  • 网站建设 公司 天津爱用建站官网
  • 站长工具网址是多少内网建设网站需要什么条件
  • 网站空间1g多少钱一年广州微信网站建设市场
  • 网站的收录率网站 集约化平台建设方案的通知
  • 两个网站合并建设实施方案在深圳如何注册公司
  • 怎样做网站吸引人网站底部怎么修改
  • 怎么知道网站开发语言绍兴网站制作套餐
  • 2016优秀网站设计如何安装wordpress的插件安装教程