https://pintia.cn/problem-sets/994805342720868352/problems/994805347921805312
通过入度0找到根节点,然后中序遍历。

#include<bits/stdc++.h>
using namespace std;
unordered_map<int,int>l,r;
int n,d[25];
string val[25];
string s;
void dfs(int u)
{if(u==-1) return;if(!(l[u]==-1&&r[u]==-1)) s+="(";if(l[u]!=-1) dfs(l[u]);s+=val[u];if(r[u]!=-1) dfs(r[u]);if(!(l[u]==-1&&r[u]==-1)) s+=")";
}
int main(void)
{cin>>n;for(int i=1;i<=n;i++){cin>>val[i];int a,b; cin>>a>>b;l[i]=a,r[i]=b;if(a!=-1) d[a]++;if(b!=-1) d[b]++;}int root=0;for(int i=1;i<=n;i++) if(!d[i]) root=i;dfs(l[root]);s+=val[root];dfs(r[root]);cout<<s;return 0;
}

1130 Infix Expression (25 分)【难度: 一般 / 知识点: 中序遍历】相关推荐

  1. PAT 1130 Infix Expression——什么才是DFS?由“柳神遍历”写法引发的思考

    常见遍历写法 或者说书上一般的范例写法 此处特指王道,天勤等考研递归写法 void PrintTree(BiTree* T) {if (T) {PrintTree(T->lchild);Prin ...

  2. PAT甲级1130 Infix Expression:[C++题解]中缀表达式、二叉树中序遍历、dfs

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析:本题是借助中缀表达式这个背景,考察二叉树的中序遍历.本题需要注意的地方是加括号. 左子树和右子树无脑加括号,只要不是叶结点. 所以写d ...

  3. 【CCCC】L2-006 树的遍历 (25分),根据后序与中序遍历建立二叉树(我讨厌树,系列1)

    problem L2-006 树的遍历 (25分) 给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列.这里假设键值都是互不相等的正整数. 输入格式: 输入第一行给出一个正整数N(≤30), ...

  4. PAT甲级1119 Pre- and Post-order Traversals (30分):[C++题解]暴搜dfs、前序遍历和后序遍历求中序遍历

    文章目录 题目分析 题目链接 题目分析 分析 给了前序遍历和后序遍历,能够确定根结点,但是左子树和右子树的长度是不确定的.这里采用的解决方案是枚举左子树的结点个数,其实右子树的结点个数也确定了.对于每 ...

  5. 分治法在二叉树遍历中的应用(JAVA)--二叉查找树高度、前序遍历、中序遍历、后序遍

    分治法在二叉树遍历中的应用 二叉树本身就是由两个更小的部分组成--左子树和右子树,所以二叉树的问题非常适合用分治法来解决. 二叉树的高度:从叶子到根之间的最长路径.我们可以理解为根的左子树高度和右子树 ...

  6. 7-9 根据后序和中序遍历输出先序遍历 (10 分)

    7-9 根据后序和中序遍历输出先序遍历 (10 分) 本题要求根据给定的一棵二叉树的后序遍历和中序遍历结果,输出该树的先序遍历结果. 输入格式: 第一行给出正整数N(≤30),是树中结点的个数.随后两 ...

  7. 【CCCC】L2-004 这是二叉搜索树吗? (25分),二叉搜索树前序遍历

    problem L2-004 这是二叉搜索树吗? (25分) 一棵二叉搜索树可被递归地定义为具有下列性质的二叉树:对于任一结点, 其左子树中所有结点的键值小于该结点的键值: 其右子树中所有结点的键值大 ...

  8. 1090 Highest Price in Supply Chain (25 分)【难度: 一般 / 知识点: 树的遍历】

    https://pintia.cn/problem-sets/994805342720868352/problems/994805376476626944 就是找深度最深的叶节点的深度,和最深的结点个 ...

  9. 1130 Infix Expression

    考察:DFS进行中序遍历. 注意:给除了根节点以外的父节点加左右括号. AC代码 #include<cstdio> #include<iostream> #include< ...

最新文章

  1. CSS类名称/选择器中哪些字符有效?
  2. pip install 没有权限
  3. AppDomain,应用程序域
  4. VS添加服务引用和 Web引用的区别
  5. 什么是微服务_微服务系列笔记:什么是微服务?
  6. 2019 神策春招 | “数”天下神人,都“据”于此
  7. Angular JS 中的内置方法之表单验证
  8. rails generator
  9. 【P1063】 能量项链
  10. django+nginx+uwsgi部署web站点
  11. 第3章 flappy bird作业、SVN、GIT、码云
  12. Unity Invoke 函数调用
  13. 拓端tecdat|R、Python、Open Refine采集pdf数据,清理数据和格式化数据
  14. 诺基亚N9开发者模式详解:谁的N9谁做主
  15. [操作系统] FAT文件系统概述
  16. 智能鱼塘远程检测控制系统
  17. 详析:谷歌为何紧急封杀阿里云OS?
  18. freebsd pkg常用命令
  19. 字符编码:计算机的巴别塔
  20. 论文阅读:Automatic segmentation of pulmonary lobes using a progressive dense V-network

热门文章

  1. 静态页转换平台(StaticPol)-静态页生成终极解决方案(转)
  2. 运行 vue 报node错
  3. Appstore|IPA
  4. Java 第三章 选择结构
  5. Netty对Protocol Buffer多协议的支持(八)
  6. dblclick,默认全选屏蔽
  7. ios开发笔记之 APNS推送服务的实现
  8. Delphi资源文件的应用(转)
  9. VS2017-VC++校验和计算小工具
  10. mcp2515 芯片驱动总线错误BUG的解决方法(主要无法进入中断bug)