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

商品定制平台网站成都的汽车网站建设

商品定制平台网站,成都的汽车网站建设,想自己开发一款软件,北京建筑工程有限公司105. 从前序与中序遍历序列构造二叉树 文章目录 [105. 从前序与中序遍历序列构造二叉树](https://leetcode.cn/problems/construct-binary-tree-from-preorder-and-inorder-traversal/)一、题目二、题解 一、题目 给定两个整数数组 preorder 和 inorder #xff0c;其中 preo…105. 从前序与中序遍历序列构造二叉树 文章目录 [105. 从前序与中序遍历序列构造二叉树](https://leetcode.cn/problems/construct-binary-tree-from-preorder-and-inorder-traversal/)一、题目二、题解 一、题目 给定两个整数数组 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 3000inorder.length preorder.length-3000 preorder[i], inorder[i] 3000preorder 和 inorder 均 无重复 元素inorder 均出现在 preorderpreorder 保证 为二叉树的前序遍历序列inorder 保证 为二叉树的中序遍历序列 二、题解 算法思路 我们要根据给定的前序遍历和中序遍历序列构建出一棵二叉树。前序遍历序列告诉我们根节点的值以及左子树和右子树的分割点中序遍历序列告诉我们左子树和右子树的节点排列顺序。我们可以通过递归的方法来实现构建二叉树的过程。 具体步骤如下 从前序遍历序列中取出第一个元素它是当前子树的根节点的值。在中序遍历序列中找到该根节点的值根据这个值将中序序列划分为左子树部分和右子树部分。根据左子树和右子树的节点数量在前序遍历序列中划分出左子树的前序序列和右子树的前序序列。递归地构建左子树和右子树。 具体实现 class Solution { public:TreeNode* buildTree(vectorint preorder, vectorint inorder) {// 基准情况如果前序遍历序列为空返回空指针表示空树if (preorder.size() 0) {return nullptr;}// 创建当前子树的根节点TreeNode *root new TreeNode();root-val preorder[0];// 在中序遍历序列中找到根节点的位置int index 0;for (index 0; index inorder.size(); index) {if (inorder[index] preorder[0]) {break;}}// 划分左子树和右子树的序列vectorint leftPreorder(preorder.begin() 1, preorder.begin() index 1);vectorint leftInorder(inorder.begin(), inorder.begin() index);vectorint rightPreorder(preorder.begin() index 1, preorder.end());vectorint rightInorder(inorder.begin() index 1, inorder.end());// 递归构建左子树和右子树root-left buildTree(leftPreorder, leftInorder);root-right buildTree(rightPreorder, rightInorder);return root;} };算法分析 时间复杂度在每次递归中我们都需要遍历中序遍历序列来找到根节点的位置这需要 O(n) 的时间其中 n 是节点数量。递归的总时间复杂度取决于递归的层数以及每层的操作因此总体时间复杂度为 O(n)。 空间复杂度每次递归都会创建新的前序和中序序列空间复杂度主要取决于递归的深度最坏情况下递归深度为 n所以空间复杂度为 O(n)。此外还需要存储二叉树节点的空间所以总体空间复杂度也为 O(n)。
http://www.hkea.cn/news/14385129/

相关文章:

  • 功能性的网站归档系统中国建设银行中国网站
  • 互联网网站建设方案重庆教育建设有限公司网站首页
  • 商城网站哪个公司做的好处2023企业所得税300万以上
  • 购物网站用html怎么做自己做个网站好还是做别人会员好
  • 网站项目需求分析上海省住房与城乡建设厅网站
  • 免备案网站建站企业手机网站建设策划
  • 网站维护知识亚马逊网站托管怎么做
  • wordpress 前台关闭关键词优化案例
  • 百度小说排行榜2021重庆seo快速优化
  • 网站建设方案200字公司制作官网
  • hao123网站免费的网站免安装
  • phpmysql网站开发案例自己做的网站会被黑吗
  • 石家庄建设网站公司简介免费网站源码下载平台
  • 网站设计策略小程序商店代码
  • 湖南省网站备案时间品牌建设思维导图
  • 郑州网站优化培训如何做网站的逻辑结构图
  • 有什么字体设计的网站腾讯邮箱企业邮箱注册申请
  • 做资金盘网站违法吗如何配置iis网站
  • 可以做360度全景图的网站又拍云cdn WordPress
  • 保定建网站需要多少钱wordpress 文件删除
  • 网站开发行业推广上海高玩seo
  • 不用域名访问网站网站开发分包
  • 湛江免费建站国产企业wordpress
  • 洛阳制作网站的公司哪家好俄文网站建设 俄文网站设计
  • 哪个网站做设计兼职不用压金在线教育网站建设策划
  • 四川细胞库网站建设北京所有做招聘类网站建站公司
  • 网站建设公司兴田德润i优惠吗抖音seo招商
  • 深圳互联网网站建设找seo外包公司需要注意什么
  • 网站上动态图片怎么做做快递单的网站会不会是骗人的
  • 莆田网站建设技术托管广告传媒公司经营范围