1130 Infix Expression
考察:DFS进行中序遍历。
注意:给除了根节点以外的父节点加左右括号。
AC代码
#include<cstdio>
#include<iostream>
#include<set>
#include<vector>
#include<map>
#include<algorithm>
#include<cmath>
#include<queue>using namespace std;const int maxn = 21;int n;struct Node{string str;int lchild,rchild;
}node[maxn];int vis[maxn] = {0};int R;int findRoot(){int root;for(int i=1;i<=n;i++){if(vis[i]==0){root = i;break;}}return root;
}void DFS(int root){if(root==NULL)return;if(root!=R&&(node[root].lchild!=-1||node[root].rchild!=-1))printf("(");if(node[root].lchild!=-1)DFS(node[root].lchild);printf("%s",node[root].str.c_str());if(node[root].rchild!=-1)DFS(node[root].rchild);if(root!=R&&(node[root].lchild!=-1||node[root].rchild!=-1))printf(")");return;
}int main(){cin>>n;for(int i=1;i<=n;i++){string str;int l,r;cin>>str>>l>>r;node[i].str = str;node[i].lchild = l;vis[l] = 1;node[i].rchild = r;vis[r] = 1;}R = findRoot();DFS(R);return 0;
}
1130 Infix Expression相关推荐
- PAT甲级1130 Infix Expression:[C++题解]中缀表达式、二叉树中序遍历、dfs
文章目录 题目分析 题目链接 题目分析 来源:acwing 分析:本题是借助中缀表达式这个背景,考察二叉树的中序遍历.本题需要注意的地方是加括号. 左子树和右子树无脑加括号,只要不是叶结点. 所以写d ...
- 1130 Infix Expression (25 分)【难度: 一般 / 知识点: 中序遍历】
https://pintia.cn/problem-sets/994805342720868352/problems/994805347921805312 通过入度0找到根节点,然后中序遍历. #in ...
- PAT 1130 Infix Expression——什么才是DFS?由“柳神遍历”写法引发的思考
常见遍历写法 或者说书上一般的范例写法 此处特指王道,天勤等考研递归写法 void PrintTree(BiTree* T) {if (T) {PrintTree(T->lchild);Prin ...
- PAT 甲级 1130 Infix Expression
思路: 1.先建树,再对树进行先根遍历: 2.若遍历某个结点不是叶子结点且不是根结点,则此次的表达式要用括号包围: 3.值一定是叶子结点,运算符一定不是叶子结点: 代码: #include<io ...
- PAT1130. Infix Expression (25) 中序遍历
题意 给出一棵中缀树 然后输出他的表达式 分析 一开始还想随便在输入点中任找一个点然后不断深搜建树 后来才发现这道题输入数据就把树根据指向关系已经建立好了 只需要确定根节点然后中序遍历就好了 code ...
- 【Leetcode】1597. Build Binary Expression Tree From Infix Expression
题目地址: https://leetcode.com/problems/build-binary-expression-tree-from-infix-expression/ 给定一个中缀表达式 s ...
- 2019秋季PAT甲级_C++题解
2019 秋季 PAT (Advanced Level) C++题解 考试拿到了满分但受考场状态和知识水平所限可能方法不够简洁,此处保留记录,仍需多加学习.备考总结(笔记目录)在这里 7-1 Fore ...
- PAT甲级题目翻译+答案 AcWing(树)
1004 Counting Leaves (30 分) 题意 : 家庭关系可以用家谱树来表示,给定一个家谱树,你的任务是找出其中没有孩子的成员. 第一行包含一个整数 N 表示树中结点总数以及一个整数 ...
- 【PAT甲级真题整理五】1121~1155
终于考完了qaq把最后一堆也整理出来了 目录 1121 Damn Single(25)set.map的使用 1122 Hamiltonian Cycle(25)哈密顿回路 1123 Is It a C ...
最新文章
- Linux Exploit系列之三 Off-By-One 漏洞 (基于栈)
- 语音信号处理MATLAB实现
- linux查看fifo内容,linux 有名管道(FIFO)
- class没有发布到tomcat_Java 类在 Tomcat 中是如何加载的?
- MyEclipse10 Tomcat7 JDK1.7 配置
- esxi usb插口_酷暑大作战 | USB-C风扇新体验
- Windows10系统下,彻底删除卸载MySQL
- 用脚本整理Leetcode题解
- thinkphp 连接sql server
- asp.net core系列 37 WebAPI 使用OpenAPI (swagger)中间件
- 分布式文件系统FastDFS看这一篇就够了(文件上传下载、单机部署及集群部署)
- qt实现类似windows的屏幕保护(小球碰撞动画)
- 天联无法ping通服务器地址_金万维天联标准版无法连接,怎么办?
- Flash Builder4.7破解方法
- np.linalg.inv方法详解
- v-if导致用ref取不到元素的解决办法
- Chaya虚拟机学习 —— 启用Docker遇到的Bug
- 数据库查询显示一年中所有的周一到周五的数据
- Spring IOC IOP
- 考研高数之无穷级数题型一:判断收敛性、求收敛半径以及收敛域和收敛区间(题目讲解)