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

公司网站别人做的怎么签合同物流运输做网站的素材

公司网站别人做的怎么签合同,物流运输做网站的素材,旅游网站课程设计,北大荒建设集团网站105. 从前序与中序遍历序列构造二叉树 给定两个整数数组 preorder 和 inorder #xff0c;其中 preorder 是二叉树的先序遍历#xff0c; inorder 是同一棵树的中序遍历#xff0c;请构造二叉树并返回其根节点。 示例 1: 输入: preorder [3,9,20,15,7], inorder [9,3,15,…105. 从前序与中序遍历序列构造二叉树 给定两个整数数组 preorder 和 inorder 其中 preorder 是二叉树的先序遍历 inorder 是同一棵树的中序遍历请构造二叉树并返回其根节点。 示例 1: 输入: preorder [3,9,20,15,7], inorder [9,3,15,20,7] 输出: [3,9,20,null,null,15,7] 示例 2: 输入: preorder [-1], inorder [-1] 输出: [-1] 提示: 1 preorder.length 3000 inorder.length preorder.length -3000 preorder[i], inorder[i] 3000 preorder 和 inorder 均 无重复 元素 inorder 均出现在 preorder preorder 保证 为二叉树的前序遍历序列 inorder 保证 为二叉树的中序遍历序列 题解 我们使用递归分治思想因对于所给中序和前序可通过前序序列确定第一个节点再通过此节点在中序序列中的位置进而确定左右子树各自的中序序列之后再通过其确定左右子树各自的前序序列以此可进行递归处理 同时注意某子树的中序序列长度和前序序列长度必为相等可依据此性质确定递归时inorder数组和preorder数组下标起点终点该如何选择 递归即对每个子树的中序和后序序列分别按照上述思想处理即可 代码 /*** 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 { // public TreeNode buildTree(int[] preorder, int[] inorder) { // // 哈希表维护中序顺序从而判断两元素之间方向关系 // MapInteger,Integer map new HashMap(); // for(int i0;iinorder.length;i){ // map.put(inorder[i],i); // }// // 建造节点依靠先序中序作为验证判断从而选择l或r方向延申 // // 初始化第一个位置因其为确定且唯一 // TreeNode res new TreeNode(preorder[0]); // TreeNode temp res;// // 其余元素需要加入中序判断 // for(int i1;ipreorder.length;i){ // int level map.get(preorder[i]); // if(level map.get(temp.val)){ // // 每次都叫node_new但是分配区域不会回收 // // 只是名字被另一片区域剥夺但因使用指针已经连接好故不会混淆 // TreeNode node_new new TreeNode(preorder[i]); // temp.right node_new; // temp temp.right; // } // else{ // // 同上 区别是若遍历到的节点在temp右方则必定temp加入此点后向right移动 // // 若在temp左方 需等待 因可能右方还有节点 // // 当然也存在右方无节点情况 此时则需要判断下一节点是否仍为temp的left // // 若是 则temp向left移动 // if(temp.left null){ // TreeNode node_new new TreeNode(preorder[i]); // temp.left node_new; // } // else{ // temp temp.left; // // 回溯未处理情况 // i--; // } // } // }// return res; // } // }// 递归法 class Solution {MapInteger,Integer map new HashMap(); public TreeNode buildTree(int[] preorder, int[] inorder) {// 哈希表维护中序顺序从而判断两元素之间方向关系for(int i0;iinorder.length;i){map.put(inorder[i],i);}return ToBuildTree(preorder,inorder,0,preorder.length-1,0,inorder.length-1);}public TreeNode ToBuildTree(int[] preorder,int[] inorder,int preStart,int preEnd,int inStart,int inEnd){// 中序序列和先序序列长度必为相等因此只需判断一个即可if(preStart preEnd)return null; // 对于递归设置一个终止条件即可// 根节点可立刻确定TreeNode res new TreeNode(preorder[preStart]);// 此根在中序遍历中下标位置int inorder_pre map.get(preorder[preStart]);// 运用每个子树的中序序列和其对应的前序序列长度相等的性质可推断出左子树和右子树前序序列分界点int placeLeft inorder_pre-1 - inStart;res.left ToBuildTree(preorder,inorder,preStart1,preStart1placeLeft,inStart,inorder_pre-1);int placeRight inEnd - (inorder_pre1); res.right ToBuildTree(preorder,inorder,preEnd-placeRight,preEnd,inorder_pre1,inEnd);return res;} }结果
http://www.yingshimen.cn/news/28291/

相关文章:

  • 久久素食网百度手机网站优化指南
  • 北京展示型网站会务网站建设
  • 怎么做网站?企业网站建设合同 百度文库
  • 哪些公司网站推广能赚钱网站的建站公司
  • linux做网站要多大内存网站新闻 写法
  • 电子商务网站规划与建设步骤视频推广软件
  • 在百度上做网站怎么做广州小程序商城开发公司
  • 个人网站可以做商业吗深圳网站建公司
  • 青岛做网站优化无锡百度网站推广渠道
  • 两人合伙做网站但不准备开公司移动网站建设书
  • 哈尔滨建设局网站兰州专业做网站的公司
  • wordpress站点被删做外卖有哪些网站
  • phpcmsv9蓝色简洁下载网站模板品牌网站建设哪里好
  • 长春自助建站系统佛山专业网站设计公司
  • 律师微网站制作800元做小程序网站
  • 网站建设的基本流程可分为中国景观设计公司十强
  • 泉州市做网站优化游戏网页设计作品
  • 网站源码爬取工具网站网页的区别与联系
  • 江苏通力建设官方网站国内旅游网站排名
  • 电子商务网站 功能北京做兼职从哪个网站
  • 广州做网站建设哪家公司好一台电脑赚钱的门路
  • 门户网站的特点和优势怎么找精准客户资源
  • 市辖区郑州网站建设网站开发加盟
  • 白云手机网站建设价格好网站的标准
  • 杭州网站搭建中国空间雷达卫星
  • 现在最流行的网站开发工具wordpress自动播放视频
  • 网页设计策划书ppt温州谷歌优化公司
  • 珠海网站建设贵公司Iis 建网站为什么说没有该用户
  • 南昌做微网站wordpress 调用文章id
  • 用织梦做的网站南昌网站建设公司渠道