• xzc最喜欢的二叉树 Apare_xzc


    我出的第一道题

    题目名称:XZC最喜欢的二叉树
    题目时限:1000ms
    最大内存:128M


    题目描述:

            众所周知,树是XZC最喜欢的数据结构。 二叉树是树的一种,是每个节点的子节点个数都不超过2的树。经典的二叉树有:红黑树,替罪羊树,胜者树,败者树…二叉树的遍历方式也有很多种,如:层序遍历,先序遍历(有人也称作前序遍历),中序遍历,后续遍历。
            今天,XZC给你出了一道题,题目如下:
    给出二叉树的先序遍历和中序遍历,还原二叉树,得到后续遍历,并且求叶子节点的个数以及树的最大深度。


    输入:

    每个测试文件有多组数据。
    输入文件的第一行是一个正整数T(T<=10)代表有T组数据
    每组数据的输入有三行
    第一行是一个数字n (n<=100),代表二叉树节点的个数
    第二行是二叉树的先序遍历,用一个字符串表示,每个字符代表一个节点的值
    第三行是二叉树的中序遍历,用一个字符串表示,每个字符代表一个节点的值
    (输入保证二叉树每个节点的值各不相同)


    输出:

    对于每组数据,
    在一行输出”Case #x: “(不含引号)
    在第二行输出二叉树的后序遍历(行末无空格)
    在第二行输入该二叉树叶子节点的个数,具体格式见样例
    在第三行输入该二叉树的层数,以及距离根节点最远的一层的叶子节点的值,若有多个符合条件的叶子节点,输入在先序遍历中序列最靠前的。
    两组数据之间输出一个空行,最后一个样例后面不输入空行。


    (样例解释可以参见下放的图片)

    样例输入:
    3
    3
    ABC
    BAC
    8
    ABDFCEGH
    BFDACGEH
    21
    ABDHIORSEJKCFLPQTUGMN
    HDIROSBJEKAFPLTUQCMGN
    
    样例输出:
    Case #1:
    该二叉树的后序遍历为:BCA
    该二叉树的叶子节点个数为:2
    该二叉树的层数为:2,最深的叶子节点的值为:B
    
    Case #2:
    该二叉树的后序遍历为:FDBGHECA
    该二叉树的叶子节点个数为:3
    该二叉树的层数为:4,最深的叶子节点的值为:F
    
    Case #3:
    该二叉树的后序遍历为:HRSOIDJKEBPUTQLFMNGCA
    该二叉树的叶子节点个数为:9
    该二叉树的层数为:7,最深的叶子节点的值为:U
    

    case #1 和 case #2的图:

    在这里插入图片描述

    Case #3 的图:

    在这里插入图片描述
    AC愉快~


  • 相关阅读:
    oracle-报错 RMAN-03002,RMAN-06172
    oracle--报错 ORA-01003,ORA-09817,ORA-01075
    oracle--报错 ORA-00257
    Linux-iostat命令
    oracle--查询速度慢
    linux-根目录添加内存
    mysq-5.7忘记密码修改
    zsh: command not found cnpm,gulp等命令在zsh终端上报错的问题
    vue中的js引入图片,必须require进来
    如何启动一个Vue3.x项目
  • 原文地址:https://www.cnblogs.com/Apare-xzc/p/12243606.html
Copyright © 2020-2023  润新知