当前位置: 首页 > news >正文

始兴生态建设网站北京网站优化站优化

始兴生态建设网站,北京网站优化站优化,广州市天气,自学编程题目链接 PAT甲级 1110 Complete Binary Tree 思路 第一次的写法不是很好。 对于这种完全二叉树的层序遍历,比较烦人的就是空孩子使得处理很麻烦。 思来想去还是把空位置也入队比较好。 这样的话,访问到空指针的时机被推迟了一个level 而完全二叉树的…

题目链接

PAT甲级 1110 Complete Binary Tree

思路

第一次的写法不是很好。
对于这种完全二叉树的层序遍历,比较烦人的就是空孩子使得处理很麻烦。
思来想去还是把空位置也入队比较好。

这样的话,访问到空指针的时机被推迟了一个level
而完全二叉树的叶子之间的层间距不会超过1
所以对于合法的完全二叉树,我们访问到空孩子的时机不会早于访问树中的任何叶节点

这样的话,当访问到空指针的时候:

  1. 对于合法的完全二叉树,一定树中所有元素都遍历完了,故有n == 0
  2. 若此时仍有n > 0,否则就说明层间有空隙,故不合法。

所以只要在访问到空指针的时候加入我们的判断即可,并记录还未访问的树节点个数。

代码

#include<bits/stdc++.h>using namespace std;vector<int> parent;
vector<pair<int, int>> children;int last = -1;int main() {int n;cin >> n;children.resize(n + 1, {-1, -1});parent.resize(n + 1, -1);for(int i = 0; i < n; ++i) {string left, right;cin >> left >> right;if(left != "-") {children[i].first = stoi(left);parent[stoi(left)] = i;}if(right != "-") {children[i].second = stoi(right);parent[stoi(right)] = i;}}int root = -1;for(int i = 0; i < n; ++i) {if(parent[i] == -1) {root = i;break;}}assert(root != -1);queue<int> q;q.push(root);bool flag = true;while(! q.empty() && flag) {int size = q.size();int pre_is_null = 0;while(size--) {auto node = q.front();q.pop();if(node == -1) {if(n > 0) {flag = false;}break;}last = node;--n;auto left = children[node].first;auto right = children[node].second;q.push(left);q.push(right);}}if(! flag) {cout << "NO " << root;} elsecout << "YES " << last;cout << endl;
}
http://www.ds6.com.cn/news/119542.html

相关文章:

  • html做网站首页软文是什么东西
  • 做网站注册的商标类别网页制作软件哪个好
  • wordpress小工具是哪个文件夹网站seo快速
  • 网站建设的价值信息流广告投放渠道
  • 哈尔滨网站建设刷百度关键词排名优化
  • 个人网站建设与企业网站今天时政新闻热点是什么
  • 微信对接网站推广软文300字范文
  • bcc宝塔安装wordpressseo行业岗位有哪些
  • 大的网站建设公司域名查询网站入口
  • 广州番禺职业技术学院门户网站成人计算机培训机构哪个最好
  • 网站的功能定位企业网络组建方案
  • 网校 039 网站建设多少钱产品质量推广营销语
  • 贵阳市 网站建设seo的重要性
  • 手机网站建设哪个包括哪些内容
  • 中国林业建设工程网站云南优化公司
  • 将网站建设外包出去的好处今天中国新闻
  • 新网站seo方法免费搜索引擎推广方法有哪些
  • 品牌建设网站例子百度seo排名培训
  • 安庆网站建设百度竞价托管运营
  • 个人网站注销原因如何对一个网站进行seo
  • 专业简历制作管理平台天津seo外包平台
  • 网页就是一个网站的首页seo比较好的公司
  • 爱搜索中级网站建设网络营销公司名字大全
  • 福州哪家网站制作设计高端还实惠百度手机管家
  • 建设运营平台网站的方法广州seo排名优化
  • 电商网站 开发周期专业制作网站的公司哪家好
  • 做网站制作的摘要怎么让自己上百度
  • 一个空间只能放一个网站吗磁力狗
  • 海山网站建设交换神器
  • 手机网站建设新闻官网优化包括什么内容