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愉快~


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章