1130. Infix Expression (25)[dfs-中序遍历]
来源:互联网 发布:联通网络破解助手 编辑:程序博客网 时间:2024/06/05 02:45
1. 原题:https://www.patest.cn/contests/pat-a-practise/1130
2. 思路:
题意:给出一颗二叉树,输出其中缀表达式。
思路:
题意不难。中序遍历就行了,不过难点在于括号的输出。
递归的时候,加个判断条件。
只要当前遍历的不是根结点且左右不全空,就输出括号。
已AC。
思路:
题意不难。中序遍历就行了,不过难点在于括号的输出。
递归的时候,加个判断条件。
只要当前遍历的不是根结点且左右不全空,就输出括号。
已AC。
3. 源码:
#include <iostream>#include <vector>#include <string>using namespace std;struct Node{string data;int left, right;};vector<Node> T;int Root;//存储根节点编号void dfs(int root);//递归输出表达式int main(){//freopen("in.txt", "r", stdin);int N;cin >> N;T.resize(N + 1);vector<int> id(N + 1, 0);for (int i = 1; i <= N; i++)//读入数据{cin >> T[i].data >> T[i].left >> T[i].right;if (T[i].left != -1)id[T[i].left] = 1;if (T[i].right != -1)id[T[i].right] = 1;}for (int i = 1; i <= N; i++)//找出根结点编号{if (id[i] == 0){Root = i;break;}}dfs(Root);return 0;}void dfs(int root){if (root == -1)return;bool hasPth = false;//判断是否输出括号if (root != Root && (T[root].left != -1 || T[root].right != -1))hasPth = true;if (hasPth)cout << '(';dfs(T[root].left);cout << T[root].data;dfs(T[root].right);if (hasPth)cout << ')';return;}
阅读全文
0 0
- 1130. Infix Expression (25)[dfs-中序遍历]
- PAT(A)-1130. Infix Expression (25)(树的中序遍历)
- PAT 1130. Infix Expression (25) 前缀表达式、树的中序遍历
- 1130. Infix Expression (25)
- 1130. Infix Expression (25)
- 1130. Infix Expression (25)
- 1130. Infix Expression (25)
- 1130. Infix Expression (25)
- 1130. Infix Expression (25)
- 1130. Infix Expression (25)
- PAT 1130. Infix Expression (25)
- PAT 1130. Infix Expression (25)
- PAT 1130. Infix Expression (25)-甲级
- PAT甲级 1130. Infix Expression (25)
- 【PAT】【Advanced Level】1130. Infix Expression (25)
- PAT 甲级 1130. Infix Expression (25)
- 1130. Infix Expression 引用
- PAT A1130. Infix Expression (25)
- 手把手搭建集群系列(三)——Mongodb
- 使用BorderLayout布局管理器将组件进行布局
- JFinal使用技巧积累
- 伪类与伪元素
- 操作系统学习(2)
- 1130. Infix Expression (25)[dfs-中序遍历]
- Hibernate的集中查询方式 : hql查询,QBC查询和QBE查询
- map/reduce
- 软件漂亮功能背后的秘密
- “fatal error C1859: “Release\XXXX.pch”意外的预编译头错误,只需重新运行编译器就可能修复此问题”的一个解决办法
- 从分布式一致性谈到CAP理论、BASE理论
- 6.4
- 运行容器的最佳实践
- hunnu11461—数组求和问题(前缀和)