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

php网站程序怎么安装大型网站开发 c

php网站程序怎么安装,大型网站开发 c,下载建设网站,一站式网站建设顾问题目描述 106. 从中序与后序遍历序列构造二叉树 中等 1.1K 相关企业 给定两个整数数组 inorder 和 postorder #xff0c;其中 inorder 是二叉树的中序遍历#xff0c; postorder 是同一棵树的后序遍历#xff0c;请你构造并返回这颗 二叉树 。 示例 1: 输入#xff1…题目描述 106. 从中序与后序遍历序列构造二叉树 中等 1.1K 相关企业 给定两个整数数组 inorder 和 postorder 其中 inorder 是二叉树的中序遍历 postorder 是同一棵树的后序遍历请你构造并返回这颗 二叉树 。 示例 1: 输入inorder [9,3,15,20,7], postorder [9,15,7,20,3] 输出[3,9,20,null,null,15,7]示例 2: 输入inorder [-1], postorder [-1] 输出[-1]提示: 1 inorder.length 3000postorder.length inorder.length-3000 inorder[i], postorder[i] 3000inorder 和 postorder 都由 不同 的值组成postorder 中每一个值都在 inorder 中inorder 保证是树的中序遍历postorder 保证是树的后序遍历 思路讲解 后续遍历左 右 中 中序遍历左 中 右 假设没有重复值的节点 如果有那就不会是种二叉树 你可以将重复节点挨个遍历 依次确定所有二叉树 那么后续排序就可以确定这颗二叉树的根节点 再在中序排序中找到该值根节点 将中序遍历分为三部分 左子树的中序遍历 根节点 右子树的中序遍历  将后序遍历分为三部分 左子树的后续遍历 右子树的后续遍历 根节点 经过上面的处理 不能形成一颗完整的二叉树 因为里面有左右子树还没有确定其根节点 那么就要再进行上 面的操作 直到将左右子树全部确定完毕  需要递归进行处理 也可以模拟递归 用栈去模拟递归  结合上面思路先大致想一想递归代码的实现 代码部分处理 /**//树的节点* Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/ class Solution { public:TreeNode* func1(vectorint inorder,vectorint postorder)//递归{//postorder.size()inorder.size()if(postorder.size()0){return nullptr;}int val postorder[postorder.size()-1];TreeNode* root new TreeNode(val);//创建节点int index 0;//寻找中序的根节点for(;indexinorder.size();index){if(inorder[index]val){break;}}//postorder.size()inorder.size()if(postorder.size()1){return root;}postorder.resize(postorder.size()-1);//左闭右开区间 区间端点就是函数参数vectorint leftinorder(inorder.begin(),inorder.begin()index);vectorint rightinorder(inorder.begin()index1/*1就是将中序的根节点舍弃掉*/,inorder.end());vectorint leftpostorder(postorder.begin(),postorder.begin()leftinorder.size());vectorint rightpostorder(postorder.begin()leftinorder.size(),postorder.end());//递归调用root-leftfunc1(leftinorder,leftpostorder);root-rightfunc1(rightinorder,rightpostorder);return root;}TreeNode* buildTree(vectorint inorder, vectorint postorder) {if(inorder.size()0||postorder.size()0)//特殊条件的判断{return nullptr;}return func1(inorder,postorder);} }; 递归调用部分 需要对递归有一点了解 不然你就在纸上走读代码 去画递归展开图 调用左树就执行到底之后再进左树调用中的右树调用 再进右树调用还是先执行左树调用再执行右树调用 因为左树调用在右树调用的前面
http://www.dnsts.com.cn/news/167095.html

相关文章:

  • 农村建设自己的网站正版全平台内容系统
  • 石家庄外贸网站建设公司有专门做预算的网站没
  • 镇江网站排名公司wordpress购买会员升级
  • 外贸网址建站代做企业网站备案
  • 为什么做网站需要服务器wifi扩展器做网站
  • 优良网站网站开发业务介绍
  • 网站添加微信支付功能国内公关公司
  • 一个主体如何添加网站安徽建设干部学校网站
  • 成都网站建设推广服务长沙网站建站公司
  • 网站建设 丽水住房和城乡建设部网站办事大厅里边
  • 那个公司做网站好常用网站开发语言的优缺点
  • 建发公司简介太原seo网站优化
  • 西安哪家网站建设公司好关于网站建设的指标
  • 无锡网站建设维护网站改版应该怎么做
  • 网站用什么程序做的佛山专业网站开发公司
  • 网站建设电话销售话术模板大全网站续费价格
  • 长沙公司网站网站开发项目中职责
  • 移动网站建站视频如何进行网站设计规划
  • 网站300m是什么意思网站自身seo优化怎么做
  • 存储网站建设网站建设子栏目怎么弄
  • 如何自己免费制作网站上海的网络推广公司
  • 网站类别标签文本wordpress博客常用插件
  • 贵州省铜仁市住房和城乡建设局网站网站制作推广
  • 网站里的动画是什么软件做的网站版式设计
  • 做网站可以不买域名和主机吗计算机做网站开题报告
  • 学做网站用什么服务器公众号交易平台
  • 网站后台管理系统怎么登陆seo关键词软件
  • 遂宁微章建设举报网站网站建设与管理 需求分析
  • 查看网站服务器版本网站排名软件利搜
  • 网站建设推广型直播网站app开发