题目信息

题目类型
练习
题目年份
2025
题目题型
编程题
关 键 词
升空的焰火 换一侧看

题目题干

描述

为了庆祝建校125周年,Peking Fireworks University燃放了一种二叉树形状的烟花,烟花上有N个节点,每个节点都有一个1~N之间的颜色编号,根节点的编号固定为1,其他节点的编号随机分配且各不相同。BmH100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

小明站在观礼台的右侧,只能看到右侧节点的烟花,他很好奇从左侧能看到哪些颜色的烟花,你能帮帮他吗?BmH100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

例如对于如下的二叉树烟花,从左侧看到的结果为[1, 4, 3, 8, 2]。BmH100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

升空的焰火,换一侧看描述 为了庆祝建校125周年,Peking Fireworks University燃放了一种二叉树形状的烟花,烟花上有N个节点,每个节点都有一个1~N之间的颜色编号,根节点的编号固定为1,其他节点的编号随机分配且各不相同。  小明站在观礼台的右侧,只能看到右侧节点的烟花,他很好奇从左侧能看到哪些颜色的烟花,你能帮帮他吗?  例如对于如下的二叉树烟花,从左侧看到的结果为[1, 4, 3, 8, 2]。    输入 输入共N+1行。 第1行为一个整数N(1<=N<=1000),表示二叉树烟花中的节点个数。这N个节点的颜色编号为1~N,规定1号节点为根节点。 接下来N行,每行有两个整数,分别为1~N号节点的左子节点和右子节点的颜色编号,如果子节点为空,则用-1表示。 输出 按照从顶到底的顺序,输出从左侧看到的节点的颜色编号(即输出广度优先搜索中每一层第一个节点),编号之间用空格隔开。 样例输入 5 2 3 -1 5 -1 4 -1 -1 -1 -1 样例输出 1 2 5 提示 (1)一种处理输入的方式:开辟一个大小为N的数组,存储这N个二叉树节点,然后根据每行输入,将相关节点用左右子节点指针连接起来。 (2)BFS可以借助队列实现,可以使用STLBmH100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

输入
输入共N+1行。BmH100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
第1行为一个整数N(1<=N<=1000),表示二叉树烟花中的节点个数。这N个节点的颜色编号为1~N,规定1号节点为根节点。BmH100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
接下来N行,每行有两个整数,分别为1~N号节点的左子节点和右子节点的颜色编号,如果子节点为空,则用-1表示。
输出
按照从顶到底的顺序,输出从左侧看到的节点的颜色编号(即输出广度优先搜索中每一层第一个节点),编号之间用空格隔开。
样例输入
5
2 3
-1 5
-1 4
-1 -1
-1 -1
样例输出
1 2 5
提示
(1)一种处理输入的方式:开辟一个大小为N的数组,存储这N个二叉树节点,然后根据每行输入,将相关节点用左右子节点指针连接起来。BmH100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
(2)BFS可以借助队列实现,可以使用STL

答案解析

相关题目

木桶饭描述 农园二层的木桶饭广受师生欢迎。现在窗口提供木桶鸡肉饭和木桶烟笋腊肉饭两种木桶饭,为方便起见,我们记木桶鸡肉饭为种类 1,木桶烟笋腊肉饭为种类 2。每一份饭都有一个编号 i ,代表它是第 i
升空的焰火,换一侧看描述 为了庆祝建校125周年,Peking Fireworks University燃放了一种二叉树形状的烟花,烟花上有N个节点,每个节点都有一个1~N之间的颜色编号,根节点的编号
构建最小数字描述 你能否设计一种算法,在非负整数Z中找到一个长度为length(Z)-m的子序列,也就是删除m个数字,使得剩下的数字子序列组成的数字最小。 输入 输入由两个整数组成,分别为Z与m。
兑换零钱描述 给你一个整数数组,表示不同面额的硬币;以及需要兑换的总金额。 计算并输出可以凑成总金额所需的最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,则输出 -1 。 你可以认为每种硬
公共子序列描述 我们称序列Z = < z1, z2, ..., zk >是序列X = < x1, x2, ..., xm >的子序列当且仅当存在 严格上升 的序列< i1
计算字符串距离描述 对于两个不同的字符串,我们有一套操作方法来把他们变得相同,具体方法为: 修改一个字符(如把“a”替换为“b”) 删除一个字符(如把“traveling”变为“travelng”)
整数拆分描述 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k >= 2 ),并使这些整数的乘积最大化。 打印 你可以获得的最大乘积 。 输入 一个整数 n 输出 可以获得的最大
棋盘问题描述 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行
救生艇描述 给定数组 people 。people[i]表示第 i 个人的体重 ,船的数量不限,每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人,但条件是这些人的重量之和最多为 li
买卖股票描述 小明通过占星术知道了未来k天某支股票的价格变化,因此小明希望通过买卖这支股票来获得利润。 在每一天,小明都可以决定是否购买和/或出售股票,但是在任何时候 最多 只能持有 一股 股票。同

提示声明

  • 免责声明:本站资源均来自网络或者用户投稿,仅供用于学习和交流:如有侵权联系删除!
  • 温馨提示:本文属于积分文章,需要充值获得积分或升级VIP会员,也可在会员中心投稿获取。

猜你喜欢