PTA List Leaves(非链表题解)_list leaves 题解-程序员宅基地

技术标签: 二叉树  PTA  

题目如下:
7-4 List Leaves (25 分)
Given a tree, you are supposed to list all the leaves in the order of top down, and left to right.

Input Specification:
Each input file contains one test case. For each case, the first line gives a positive integer N (≤10) which is the total number of nodes in the tree – and hence the nodes are numbered from 0 to N−1. Then N lines follow, each corresponds to a node, and gives the indices of the left and right children of the node. If the child does not exist, a “-” will be put at the position. Any pair of children are separated by a space.

Output Specification:
For each test case, print in one line all the leaves’ indices in the order of top down, and left to right. There must be exactly one space between any adjacent numbers, and no extra space at the end of the line.

Sample Input:
8
1 -

0 -
2 7

5 -
4 6
Sample Output:
4 1 5

思路:本题真正的难点不在于如何找到叶结点,而是如何按照题目的意思(in the order of top down, and left to right)从上到下,从左到右,将序号输出。
本题解使用队列方式存放所有结点的序号顺序,类似于层序遍历,由于该题并不复杂,因此运用了数组的方式存放,代码如下。

#include<stdio.h>
#define maxsize 15//N (≤10)
struct tree{
   
    
int left;
int right;
}t[maxsize];
typedef struct tree Tree;
int num;
int buildtree(Tree t[])//建立树,存放左右儿子的位置,并返回根结点位置
{
   
    
    int root,i,check[maxsize]={
   
    0};//利用check数组检查哪个位置的结点从未是别的结点的儿子,即该结点为根结点
    scanf("%d\n",&num);
    if(num)
    {
   
    
        for(i=0;i<num;i++)
    {
   
    
        scanf("%c %c\n",&t[i]
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/JOHNYXUU/article/details/87448564

智能推荐

Java——GraphicsImage( 生成图片 绘制图片 绘制文字)_java graphics.fromimage-程序员宅基地

文章浏览阅读2.2k次,点赞2次,收藏2次。项目源码:https://github.com/yicaifenchen8/Java_GraphicsImage.git核心代码public class Main { public static void main(String[] args) { drawImage(); } public static void drawImage(){ ..._java graphics.fromimage

分类器模型评价指标_area under precision-recall curve (auprc) 作为评价指标-程序员宅基地

文章浏览阅读7.4k次。Spark mllib 自带了许多机器学习算法,它能够用来进行模型的训练和预测。当使用这些算法来构建模型的时候,我们需要一些指标来评估这些模型的性能,这取决于应用和和其要求的性能。Spark mllib 也提供一套指标用来评估这些机器学习模型。具体的机器学习算法归入更广泛类型的机器学习应用,例如:分类,回归,聚类等等,每一种类型都很好的建立了性能评估指标。本节主要分享分类器模型评价指标。RO..._area under precision-recall curve (auprc) 作为评价指标

解析linux根文件系统的挂载过程_linux rootfs 文件系统挂载-程序员宅基地

文章浏览阅读2.9k次。一:前言 前段时间在编译kernel的时候发现rootfs挂载不上。相同的root选项设置旧版的image却可以。为了彻底解决这个问题。研究了一下rootfs的挂载过程。特总结如下,希望能给这部份知识点比较迷茫的朋友一点帮助。 二:rootfs的种类 总的来说,rootfs分为两种:虚拟rootfs和真实rootfs.现在kernel的发展趋势是将更多的功能放到用_linux rootfs 文件系统挂载

PUBG压枪lua脚本_pubg脚本-程序员宅基地

文章浏览阅读2.4w次,点赞12次,收藏58次。lock=0state=0alltime=0function OnEvent(event, arg) if(event=="PROFILE_ACTIVATED")then EnablePrimaryMouseButtonEvents(true) end OutputLogMessage("Event: "..event.." Arg: "..arg.."\n") if(event=="MOUSE_BUTTON_PRESSED" and arg==7 )then Out_pubg脚本

冀教版五年级计算机教学计划,-冀教版五年级数学上册教学计划-程序员宅基地

文章浏览阅读149次。教师的教学工作是有计划性的,在正式上课之前,对要进行的教学任务及流程进行详细的计划,YJBYS小编为大家准备了最新冀教版五年级数学上册教学计划,希望对你有所帮助!一、班级学生情况分析:全班共有学生74人,大部分学生对数学有上进心,但接受能力还有待提高,学习态度还需不断端正。有部分学生自觉性不够,不能及时完成作业等,对于学习数学有一定困难。所以在新的学期里,在端正学生学习态度的同时,应加强培养学生各..._冀教版五年级数学上册教学进度计划博客

随机点名小程序 tkinter_python和tk随机不重复点名-程序员宅基地

文章浏览阅读1w次,点赞5次,收藏24次。随机点名小程序随机点名小程序问题描述随机点名程序(越不来上课的人,被点中的概率越高,实现抽查问题、预警等功能)问题分析采用python 的 tkinter 库实现用户图形界面,采用 pickle 存储数据,可以对点名对象进行插入或删除。user_info.pickle文件中存储着一个字典,包括名字和缺勤次数,根据迟到的次数往列表中增加名字的个数,越不来上课的人被点中的概率越高。代码分析..._python和tk随机不重复点名

随便推点

Navicat Premium 12连接Oracle时提示oracle library is not loaded的问题解决(若高版本换掉环境后还报错,换低版本)_navicat换环境后报错-程序员宅基地

文章浏览阅读362次。笔者使用的Navicat Premium 12启动界面截屏:请注意是64位的。笔者win7 64位系统。连接Oracle时提示“oracle library is not loaded”。解决方法:1.前往“http://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/i..._navicat换环境后报错

linux设备驱动之mmap函数_linux驱动 mmap函数实现-程序员宅基地

文章浏览阅读707次。1.用户空间的mmap系统调用void *mmap(void *start,size_t length,int prot,int flags,int fd,off_t offsize);函数的作用:将物理内存的一块区域映射到用户空间,通过用户空间指针的操作来读写物理内存区域的数据。具体参数含义start : 指向欲映射的内存起始地址,通常设为 NULL,代表让系统自动选定地址,映_linux驱动 mmap函数实现

【设计】24款线框图相关工具及资源大放送_960.gs templates for inkscape-程序员宅基地

文章浏览阅读143次。【设计】24款线框图相关工具及资源大放送线框是一个非常有用的网页开发工具,正确使用有助于帮助Web开发者节省时间和精力!下面介绍一些常见的线框工具,希望对Web设计师有帮助。 1. 960.gs Templates for Inkscape 960个Inkscape模板集合。 2. Android Patterns _960.gs templates for inkscape

XLua官方Examples 04_LuaObjectOrented lua面向对象和C#的配合_04_luaobjectorented:-程序员宅基地

文章浏览阅读363次。using System;using UnityEngine;using XLua;namespace XLuaTest{ public class PropertyChangedEventArgs : EventArgs { public string name; public object value; } public class InvokeLua : MonoBehaviour { [CSharp._04_luaobjectorented:

Atcoder dp_u Grouping 状压dp_u - grouping-程序员宅基地

文章浏览阅读423次。文章目录题意题解题目链接题意把nnn只兔子分组,每两只兔子之间有一个亲密度,当然亲密度也有可能是负数,表示这两只兔子有仇.一个组的亲密度是这一组里所有兔子两两的亲密度之和,问合理分组下最大的总亲密度.n≤16n\leq16n≤16.题解状压dpdpdp,枚举集合,dpSdp_SdpS​表示集合SSS表示的兔子们合理分组的最大总亲密度.则从小到大枚举集合,假设SSS的兔子全部被分在一组里,得到SSS的初始值.然后枚举SSS的真子集iii,用dpS⊕i+dpidp_{S \oplus i}+d_u - grouping

主机多出0.0.0.0 网关的处理方法_默认网关0.0.0.0怎么清除-程序员宅基地

文章浏览阅读2.7k次。1、命令行手工: 需要改成手工获取IP,然后进入命令行删除主机的原有路由,手工添加网关删除:route delete 0.0.0.0添加:route add 0.0.0.0 mask 0.0.0.0 gateway-IP2、注册表单项修改 (有时候没用)HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces ---》找到对应网卡的DefaultGateway,删除0.0.0.0..._默认网关0.0.0.0怎么清除

推荐文章

热门文章

相关标签