1086. Tree Traversals Again (25)
2015-01-13 11:56
423 查看
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; struct node { int key; node *left, *right; }; struct command { int type; int key; }; node * create(command cmd[], int &index, int n) { node *t = NULL; if(index < n) { command &c = cmd[index]; if(c.type == 0) { t = new node; t->key = c.key; index ++; // consume push t->left = create(cmd, index, n); index ++; // consume pop t->right = create(cmd, index, n); } } return t; } void postorder(node *t) { if(t) { postorder(t->left); postorder(t->right); printf("%d ", t->key); } } #define N 60 int main(int argc, char **argv) { command cmd = {{}}; int n; cin >> n; for(int i = 0; i < 2*n; i ++) { char str[10]; scanf("%s", str); if(!strcmp(str, "Push")) { cmd[i].type = 0; scanf("%d", &cmd[i].key); } else { cmd[i].type = 1; } } int index = 0; node *t = create(cmd, index, 2*n); postorder(t->left); postorder(t->right); printf("%d", t->key); return 0; }
相关文章推荐
- 1086. Tree Traversals Again (25)解题报告
- 1086. Tree Traversals Again (25)
- 1086. Tree Traversals Again (25)-PAT甲级真题
- 1086. Tree Traversals Again (25)
- 1086. Tree Traversals Again (25)
- 1086. Tree Traversals Again (25)
- 1086. Tree Traversals Again (25) PAT甲级刷题
- 1086. Tree Traversals Again (25)
- 1086. Tree Traversals Again (25)
- 1086. Tree Traversals Again (25) PAT甲级
- 1086. Tree Traversals Again (25)
- 1086. Tree Traversals Again (25)
- PAT (Advanced Level) Practise 1086 Tree Traversals Again (25)
- 1086. Tree Traversals Again (25)
- 1086. Tree Traversals Again (25)
- 1086. Tree Traversals Again (25)
- 1086.Tree Traversals Again (25)...to be continued...
- 1086. Tree Traversals Again (25)【二叉树】——PAT (Advanced Level) Practise
- 1086. Tree Traversals Again (25)
- 1086. Tree Traversals Again (25)