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

6个常用项目管理软件/搜索引擎优化排名关键字广告

6个常用项目管理软件,搜索引擎优化排名关键字广告,自己怎么做农好产品网站,用java做网站后辍名是什么从中序与后序遍历序列构造二叉树(Java) 大体思路:从后序数组中找到最后一个元素的值,即为当前节点并进行节点的创建,并在中序数组中找到该值所在索引(使用Map)。接着开始递归,后序数组倒着向前&#xff08…

从中序与后序遍历序列构造二叉树(Java)

大体思路:从后序数组中找到最后一个元素的值,即为当前节点并进行节点的创建,并在中序数组中找到该值所在索引(使用Map)。接着开始递归,后序数组倒着向前(所以递归应该先从右子树开始),当右子树遍历完(即不存在遍历区间时left>right)return。

问题分析

  1. 返回值:返回最终头节点;
  2. 参数:由于需要遍历区间,所以定义两个参数left、right,至于map, postorder作为全局变量使用。
/*** 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 {Map<Integer, Integer> map = new HashMap<>();int[] postorder;int postindex;public TreeNode buildTree(int[] inorder, int[] postorder) {this.postorder = postorder;postindex = postorder.length - 1;for(int i = 0; i < inorder.length; i++){map.put(inorder[i], i); // 通过值找索引(而且题目中表示值不会相同)}return treeBuild(0, postindex);}public TreeNode treeBuild(int left, int right //注意这个是inorder的左右区间 ){if(left > right){return null;}int rootval = postorder[postindex--];TreeNode root = new TreeNode(rootval); //创建节点int mid = map.get(rootval); //中序的切割点root.right = treeBuild(mid + 1, right);root.left = treeBuild(left, mid - 1);return root;}
}

从前序与中序遍历序列构造二叉树(Java)

思路分析:整体思路类似上一题,只不过这次先序遍历数组中的顺序是中左右,所以根节点是在最前边,同时递归时注意先左子树后右子树

/*** 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 {Map<Integer, Integer> map = new HashMap<>();int[] preorder;int i = 0; // 记录先序数组中的中间节点的索引public TreeNode buildTree(int[] preorder, int[] inorder) {this.preorder = preorder;for(int i = 0; i < inorder.length; i++){map.put(inorder[i], i);}return fucTree(0, preorder.length - 1);}public TreeNode fucTree(int left, int right){if(left > right){return null;}int rootval = preorder[i++];TreeNode root = new TreeNode(rootval);int mid = map.get(rootval);root.left = fucTree(left, mid - 1);root.right = fucTree(mid + 1, right);return root;}
}
http://www.whsansanxincailiao.cn/news/31967580.html

相关文章:

  • 网站建设好与管理在哪就业/北京营销网站制作
  • 宁波网站建设caiyiduo/西安 做网站
  • 东莞虎门大桥/seo优化工作内容
  • 营销型定制网站/软件定制开发平台
  • 专门做各种产品测评的网站/北京网站优化
  • 第三方平台网站的建设规划/自媒体营销
  • 个人网站首页界面/百度登录入口
  • 唐山网站建设最好的/网站友链查询源码
  • 专做皮鞋销售网站/网页设计制作网站html代码大全
  • 苏州网站建设网站建设/千万别在百度上搜别人名字
  • 做照片的网站有哪些/seo海外
  • 湘潭网站建设工作室/什么是网络营销含义
  • 腾讯微博做网站外链步骤/网络推广员压力大吗
  • 网站里面的数据库是怎么做的/谷歌优化教程
  • 网站建设的行业资讯、/活动策划方案详细模板
  • 设计精美的中文网站/爱链在线
  • 网站建设岗位有哪些/搜索引擎优化seo价位
  • 网站管理公司排名/谷歌seo优化推广
  • 做教育网站需要规划哪些内容/谷歌seo需要做什么的
  • 电子商务网页设计与制作实训报告/优化资源配置
  • ssc彩网站开发/公司想做网络推广贵不
  • 网站如何有排名靠前/抖音推广合作方式
  • 广州做营销型网站哪家好/北京seo服务销售
  • 做网站的软件dw下载/域名查询 站长查询
  • 叮当设计网站/百度收录申请入口
  • 天津网站建设电话/sem分析
  • 武汉 网站 建设/web网页制作成品免费
  • 做时时彩网站需要加盟/如何注册网站
  • 墨刀怎么做网站/网站运营与维护
  • web前端期末考试网页制作/安康地seo