当前位置: 首页 > 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.fp688.cn/news/155537.html

相关文章:

  • 在家做网站或ps挣钱接活做seo是什么意思
  • wordpress视频播放器ccsseo优化快速排名技术
  • 猴王水果竞猜网站建设网页版登录入口
  • 教育培训网站有哪些优量汇广告平台
  • 网站开发实训步骤微商怎么引流被别人加
  • 商标转让平台商标泰安seo排名
  • 广州佛山app网站商城制作seo销售
  • 免费网站建设教程视频一网信息一个简单便捷的新闻网站
  • 做慧聪网价格网站价格厦门seo哪家强
  • 高质量网站外链平台站长平台
  • 哪里有好的免费的网站建设免费的seo优化
  • 杭州小周seo厦门seo代运营
  • 西乡网站开发百度seo排名培训
  • 河北网站开发免费发软文的网站
  • 深圳网站优化提供商网站推广模式
  • 微信营销的方式有哪些长沙正规竞价优化推荐
  • wordpress空间返回404免费seo网站优化
  • 酒店网站的建设重庆seo排名收费
  • 宾馆网站制作成都seo优化排名公司
  • 常德网站制作seo技术专员招聘
  • 完整个人网站开发案例百度免费建网站
  • 哪些网站是用wordpress搭建的seo搜索引擎优化薪酬
  • 什么样的公司专业做网站的google 网站推广
  • 北京做网站公司哪家强淘宝指数
  • 崇安网站建设网上推广企业
  • 公司微信网站开发中国站长
  • 衡阳网站建设开发价格百度怎么发帖子
  • 可以做自媒体的网站百度网页广告怎么做
  • 维护网站一年多少钱seo关键词优化费用
  • 网站开发后的经验总结网站权重是怎么提升的