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

宁德网站开发google浏览器下载

宁德网站开发,google浏览器下载,门户网站建设方案,各个做网站的有什么区别👑专栏内容:力扣刷题⛪个人主页:子夜的星的主页💕座右铭:前路未远,步履不停 目录 一、题目描述1、题目2、示例 二、题目分析1、递归2、栈 一、题目描述 1、题目 剑指offer:重建二叉树 给定节…

在这里插入图片描述

  • 👑专栏内容:力扣刷题
  • ⛪个人主页:子夜的星的主页
  • 💕座右铭:前路未远,步履不停

目录

  • 一、题目描述
    • 1、题目
    • 2、示例
  • 二、题目分析
    • 1、递归
    • 2、栈


一、题目描述

1、题目

剑指offer:重建二叉树

给定节点数为 n 的二叉树的前序遍历和中序遍历结果,请重建出该二叉树并返回它的头结点。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出如下图所示。
在这里插入图片描述

提示:
1.vin.length == pre.length
2.previn 均无重复元素
3.vin出现的元素均出现在 pre里
4.只需要返回根结点,系统会自动输出整颗树做答案对比
数据范围: n < = 2000 n<=2000 n<=2000,节点的值 − 1000 < = v a l < = 1000 -1000<=val<=1000 1000<=val<=1000
要求:时间复杂度 O ( n ) O(n) O(n),空间复杂度 O ( n ) O(n) O(n)

2、示例

示例1

输入:[1,2,4,7,3,5,6,8],[4,7,2,1,5,3,8,6]
返回值:{1,2,3,4,#,5,6,#,7,#,#,8}
说明:返回根节点,系统会输出整颗二叉树对比结果,重建结果如题面图示    

示例2

输入:[1],[1]
返回值:{1}

示例3

输入:[1,2,3,4,5,6,7],[3,2,4,1,6,5,7]
返回值:{1,2,5,3,4,6,7}

二、题目分析

1、递归

public class Solution {public TreeNode reConstructBinaryTree(int [] pre,int [] vin) {int n = pre.length;int m = vin.length;if(n == 0 || m == 0) return null;//构建根节点TreeNode root = new TreeNode(pre[0]);for(int i = 0; i < vin.length; i++){//找到中序遍历中的前序第一个元素if(pre[0] == vin[i]){ //构建左子树root.left = reConstructBinaryTree(Arrays.copyOfRange(pre, 1, i + 1), Arrays.copyOfRange(vin, 0, i)); //构建右子树root.right = reConstructBinaryTree(Arrays.copyOfRange(pre, i + 1, pre.length), Arrays.copyOfRange(vin, i + 1, vin.length));break;}}return root;}
}

2、栈

请添加图片描述

public class Solution {public TreeNode reConstructBinaryTree(int [] pre,int [] vin) {int n = pre.length;int m = vin.length;//每个遍历都不能为0if(n == 0 || m == 0) return null;Stack<TreeNode> s = new Stack<TreeNode>();//首先建立前序第一个即根节点TreeNode root = new TreeNode(pre[0]); TreeNode cur = root;for(int i = 1, j = 0; i < n; i++){//要么旁边这个是它的左节点if(cur.val != vin[j]){ cur.left = new TreeNode(pre[i]);s.push(cur);//要么旁边这个是它的右节点,或者祖先的右节点cur = cur.left; }else{j++;//弹出到符合的祖先while(!s.isEmpty() && s.peek().val == vin[j]){cur = s.pop();j++;}//添加右节点cur.right = new TreeNode(pre[i]); cur = cur.right;}}return root;}
}
http://www.dinnco.com/news/65075.html

相关文章:

  • 黑龙江省建设厅网站站长开发一款app软件需要多少钱
  • 想让网站的文章都被收录怎么做黄页引流推广网站软件免费
  • 网代理加盟seo首页排名优化
  • 做招聘网站需要资质吗seo试用软件
  • 武汉营销网站建设公司网站模板哪家好
  • 网站图怎么做才能小而清晰度学大教育一对一收费价格表
  • 邯郸做外卖网站的公司成都百度seo推广
  • wordpress同步到微博班级优化大师功能介绍
  • 上海市网站建设廊坊优化技巧
  • 衢州站规模经典软文案例200字
  • 园艺建设网站seo排名优化课程
  • 墙内千兆网站怎么做焦作网站seo
  • 手机网站如何做营销搜索优化整站优化
  • 绍兴网站制作外贸企业网站制作哪家好
  • 网站公司谁家好百度快照手机版
  • 做平面设计去哪些网站找图西安seo服务
  • 广州网站建设海珠新科国外seo
  • 自适应网站做多大尺寸的搜索引擎排名优化
  • 临沂做四维和美家网站成都搜索优化整站优化
  • 如何防止网站被注入黑链免费建立网站步骤
  • 做网站就安徽seo网络优化师
  • 建设工程安全管理网站html网页制作软件
  • 长沙网站建设接单杭州seo营销公司
  • 公司一定建设网站付费推广有几种方式
  • 做问卷用哪个网站好seo关键词推广公司
  • 一般做外贸上什么网站宁波网站推广公司报价
  • python学了能干嘛济南网站万词优化
  • 网站排名有什么用产品网络营销方案
  • 深圳企业网站建设公司排名快速排名程序
  • 什么摄像头做直播网站免费seo网站推广