二叉树层次遍历,VUA122
来源:互联网 发布:webbench linux 编辑:程序博客网 时间:2024/06/06 12:58
Trees on the level
http://www.bnuoj.com/v3/problem_show.php?pid=17261
(11,LL) (7,LLL) (8,R)(5,) (4,L) (13,RL) (2,LLR) (1,RRR) (4,RR) ()(3,L) (4,R) ()
Sample Output
5 4 8 11 13 4 7 2 1not complete
#include <iostream>#include<queue>#include<cstdio>#include<cstring>#include<vector>using namespace std;const int maxn=100000+10;struct Node{ bool have_value; int v; Node *left,*right; Node():have_value(false),left(NULL),right(NULL) {}};Node* root;bool failed;Node* newnode(){ return new Node();}void remove_tree(Node* u){ if(u==NULL) return ; remove_tree(u->left); remove_tree(u->right); delete u;}void addnode(int v,char* s){ int n=strlen(s); Node* u=root; for(int i=0; i<n; i++) { if(s[i]=='L') { if(u->left==NULL) u->left=newnode(); u=u->left; } else if(s[i]=='R') { if(u->right==NULL) u->right=newnode(); u=u->right; } } if(u->have_value) failed=true; u->v=v; u->have_value=true;}bool read_input(){ failed=false; remove_tree(root); root=newnode(); for(;;) { char s[10000]; if(scanf("%s",s)!=1) return false; if(!strcmp(s,"()")) break; int v; sscanf(&s[1],"%d",&v); addnode(v,strchr(s,',')+1); } return true;}bool bfs(vector<int>& ans){ queue<Node*>q; ans.clear(); q.push(root); while(!q.empty()) { Node* u=q.front(); q.pop(); if(!u->have_value) return false; ans.push_back(u->v); if(u->left!=NULL) q.push(u->left); if(u->right!=NULL) q.push(u->right); } return true;}int main(){ while(read_input()) { vector<int>ans; if(!failed&&bfs(ans)) { for(int i=0; i<ans.size()-1; i++ ) cout<<ans[i]<<" "; cout<<ans[ans.size()-1]<<endl; } else cout<<"not complete"<<endl; } return 0;}
0 0
- 二叉树层次遍历,VUA122
- 层次遍历二叉树
- 层次遍历二叉树
- 二叉树层次遍历
- 二叉树 层次遍历
- 二叉树层次遍历
- 层次遍历二叉树
- 二叉树层次遍历
- 层次遍历二叉树
- 二叉树层次遍历
- 二叉树层次遍历
- 层次遍历二叉树
- 二叉树层次遍历
- 二叉树层次遍历
- 层次遍历 二叉树
- 层次遍历二叉树
- 层次遍历二叉树
- 层次遍历二叉树
- WPF做的小型下载工具和一点点吐槽
- WPF制作的小型笔记本-仿有道云笔记
- VJ匿名虐(1)
- 常见的JavaScript代码(七)
- 使用DOM创建和写入xml文件
- 二叉树层次遍历,VUA122
- WPF制作的天气预报小工具
- 10天学会跨平台移动应用开发之AppCan视频教程
- 常见的JavaScript代码(六)
- 亿忆网客户端源码开源!欢迎探讨!
- 常见的JavaScript代码(八)
- C Language Study - #error
- HDU-5174
- java虚拟机分析