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

昆山网站建设昆山横沥网站制作招聘

昆山网站建设昆山,横沥网站制作招聘,企业家网站建设,2003 您的安全设置不允许网站使用安装题目如下#xff1a; 一个二叉树#xff0c;树中每个节点的权值互不相同。 现在给出它的后序遍历和中序遍历#xff0c;请你输出它的层序遍历。 输入格式 第一行包含整数 N#xff0c;表示二叉树的节点数。 第二行包含 N 个整数#xff0c;表示二叉树的后序遍历。 第…题目如下 一个二叉树树中每个节点的权值互不相同。 现在给出它的后序遍历和中序遍历请你输出它的层序遍历。 输入格式 第一行包含整数 N表示二叉树的节点数。 第二行包含 N 个整数表示二叉树的后序遍历。 第三行包含 N 个整数表示二叉树的中序遍历。 输出格式 输出一行 N 个整数表示二叉树的层序遍历。 数据范围 1≤N≤30, 官方并未给出各节点权值的取值范围为方便起见在本网站范围取为 1∼N。 输入样例 7 2 3 1 5 7 6 4 1 2 3 4 5 6 7输出样例 4 1 6 3 5 7 2 中序遍历遵循规则左根右1234567 后序遍历遵循规则左右根2315764 如题它的树长这样 可以得知后序遍历最后一个位置即为该树的根结点找到中序遍历中根结点位置即可判断出左子树与右子树结点个数即 4 为根结点值在中序遍历中其前面与后面各有 3 个节点因此     123为左子树各结点值567为右结点各结点值再递归到左子树与右子树重复该操作即可得到该树的结构 代码如下 #include iostream #include vector #include queue using namespace std;const int N 35;//定义树结构 typedef struct TreeNode{int val;TreeNode* left;TreeNode* right;TreeNode(int value) : val(value), left(nullptr), right(nullptr) {} //构造函数 }TreeNode;//建立树结构 TreeNode* BuildTree(vectorint postorder, vectorint inorder, int postEnd, int inStart, int inEnd) {if(postEnd 0 || inStart inEnd)return nullptr;//找到根节点并开辟空间int rootval postorder[postEnd];TreeNode* root new TreeNode(rootval);//找到该根节点在中序遍历中的位置int rootIndexInInOrder 0;for(rootIndexInInOrder inStart; rootIndexInInOrder inEnd; rootIndexInInOrder){if(inorder[rootIndexInInOrder] rootval){break;}}//计算出右子树个数int rightTreeSize inEnd - rootIndexInInOrder;//递归左右子树root-right BuildTree(postorder, inorder, postEnd - 1, rootIndexInInOrder 1, inEnd);root-left BuildTree(postorder, inorder, postEnd - 1 - rightTreeSize, inStart, rootIndexInInOrder - 1);return root; }//树的层序遍历 vectorint GetLevelOrderVal(TreeNode* root){vectorint res;if(!root) return res;queueTreeNode* q;q.push(root);while(!q.empty()){auto node q.front();q.pop();res.push_back(node-val);if(node-left) q.push(node-left);if(node-right) q.push(node-right);}return res; }int main(){vectorint postorder(N);vectorint inorder(N);int n 0;cin n;for(int i 0; i n; i) cin postorder[i];for(int i 0; i n; i) cin inorder[i];TreeNode* root BuildTree(postorder, inorder, n - 1, 0, n - 1);vectorint res GetLevelOrderVal(root);for(auto val : res)cout val ;cout endl;return 0; }
http://www.dnsts.com.cn/news/145446.html

相关文章:

  • 化工原材料网站建设wordpress 修改widget
  • 西安网站建设模板做男装海报的素材网站
  • 单页面网站入侵google play下载官方版
  • 网页游戏网站源码软件开发属于什么行业类别
  • 网站关键词几个房产信息网显示限售
  • 阿里云做网站选择服务器怎么样用html做asp网站
  • 玉环在哪里做网站上海 食品网站设计
  • 漳平网站编辑价格将wordpress安装到哪个数据库?
  • 公司网站建设服务公司王烨飞微博
  • dns网站卫士 收录深圳坪山新楼盘
  • 网站建设源码下载做机械的网站有哪些
  • 做网站高亮企业网站建设解决方案
  • 提升网站权重的策略自己做一个外贸网站怎么样
  • 做网站应该注意自己怎么做直播网站
  • 湖北城市建设职业技术学院网站青柠影院免费观看电视剧高清8
  • 做服装团购网站智能建站软件
  • 做任务转比特币的网站江门网站制作流程
  • 什么是门户类型的网站系统网站建设ppt模板
  • 做公司的网站的需求有哪些模板建站可以做优化吗
  • 用别的公司域名做网站上海做网站的公司
  • 网站服务器ipv6wordpress图片时间
  • 长沙建站费用免费申请无限流量卡
  • 网站建设教程答允苏州久远网络外资公司注册
  • 晋江做网站模板做网站翻页怎么做
  • 做舞台灯光的在哪些网站接订单呢叫别人做网站权重被转移了
  • 宁夏成城建设集团网站好网站的特点
  • 荆州哪里有做网站的兰州网站开发企业
  • 百度网站快速收录设计公司推荐
  • 网站开发岗位需求分析自适应网站建站价格
  • 苏州新海通网站建设站长工具ip地址查询