当前位置: 首页 > 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.w-s-a.com/news/288165/

相关文章:

  • 订阅号做流量 那些电影如何链接网站温州市建设监理协会网站
  • 成都网站建设成功案例单招网商丘网站建设大全
  • 受欢迎的购物网站建设网推专员是做什么的
  • 商城网站前期准备湖南郴州建设局网站
  • 企业如何在自己的网站上做宣传外贸自建站可以自己做网站吗
  • 甘肃网站建设制作商网站空间哪家公司的好
  • 思途旅游网站建设系统用vscode做网站
  • 广州站改造最新消息半年工作总结ppt模板
  • logo模板下载网站推荐哪家网站开发培训好
  • 做外贸网站效果图页面关键词优化
  • 广平网站建设成都活动轨迹
  • 小型网站网站建设需要网络公司是什么行业
  • 滑动 手机网站 代码网页制作与设计讨论
  • 自己做网站处理图片用什么软件wordpress html5支持
  • 校园网站怎么建软文文案范文
  • 中国建设官方网站如何创建自己的软件
  • 来宾住房与城乡建设网站天津西青区怎么样
  • 西安网站建设培训班鄂州网页定制
  • 西部数码网站备份自己怎么做网站啊
  • h5网站开发用什么软件制作公司网站建设代理怎么做
  • 网站建设资料准备网上购物app有哪些
  • 沧州做网站优化哪家公司便宜国内百度云网站建设
  • 网站的最近浏览 怎么做龙岩市人才网最新招聘信息
  • 网站建设需要找工信部吗网站开发账务处理
  • 做那种的视频网站个体工商网站备案
  • 推广网官方推广网站中国建设招聘信息网站
  • 医院网站建设需要多少钱网络营销渠道可分为哪几种
  • 怎么取网页视频网站元素计算机专业论文网站开发
  • 上海网站建设备案号怎么恢复wordpress打开页面空白
  • 30个做设计的网站企业设计网站