1110. Complete Binary Tree (25)
来源:互联网 发布:淘宝达人粉丝1000个 编辑:程序博客网 时间:2024/05/04 10:28
两个测试点过不去
大体思路就这样
#include<iostream>#include<queue>#include<vector>using namespace std;const int MAX = 30;struct node{int lchild;int rchild;}node[MAX];bool exist[MAX];int n , root;vector<int> level;void init(){for(int i=0;i<MAX;i++){exist[i]=false;}}void levelorder(int root){int p=root,flag=0;queue<int> q;q.push(p);while(!q.empty()){p=q.front();q.pop();level.push_back(p);if(flag==0){if(node[p].lchild!=-1) q.push(node[p].lchild);else flag=1; if(node[p].rchild!=-1&&flag==0) q.push(node[p].rchild); else flag=1;}}}int main(){init();cin>>n;for(int i=0;i<n;i++){char left,right;getchar();left=getchar();if(left!='-'){node[i].lchild=left-'0';exist[node[i].lchild]=true;}else node[i].lchild=-1;getchar();right=getchar();if(right!='-'){node[i].rchild=right-'0';exist[node[i].rchild]=true;}else node[i].rchild=-1;}for(int i=0;i<n;i++){if(exist[i]==false){root=i;break;}}levelorder(root);if(level.size()!=n){printf("NO %d\n",root);}else{printf("YES %d\n",level[n-1]);}return 0;}
0 0
- 1110. Complete Binary Tree (25)
- 1110. Complete Binary Tree (25)
- 1110. Complete Binary Tree (25)
- 1110. Complete Binary Tree (25)
- 1110. Complete Binary Tree (25)
- 1110. Complete Binary Tree (25)
- 1110. Complete Binary Tree (25)
- 1110. Complete Binary Tree (25)
- 1110. Complete Binary Tree (25)
- 1110. Complete Binary Tree (25)
- 1110. Complete Binary Tree (25)
- 1110. Complete Binary Tree (25)
- 1110. Complete Binary Tree (25)
- 1110. Complete Binary Tree (25)
- 1110. Complete Binary Tree
- 1110. Complete Binary Tree
- 1110. Complete Binary Tree
- PAT-Advanced 1110. Complete Binary Tree (25)
- vue2+webpack构建项目
- BZOJ 4260 Codechef REBXOR 01Trie
- 一种无痕过渡下拉刷新控件的实现思路
- UVa514:铁轨问题 题解与答案
- Length of function
- 1110. Complete Binary Tree (25)
- 【ORB SLAM】 相关的博客地址
- 【Web前端】慕课网—JavaScript进阶篇10-1编程挑战
- Combination Sum IV
- 数据挖掘频繁项集挖掘
- 11/22日习题课学习笔记
- 将一个输入的字符串进行逆序
- 【ORB SLAM】 优化的目的和方法
- 如何理解 Objective-C 的 ARC 和 MRC