網(wǎng)站開(kāi)發(fā)業(yè)務(wù)需求分析今日熱點(diǎn)新聞
OD統(tǒng)一考試
分值: 200分
題解: Java / Python / C++
題目描述
通常使用多行的節(jié)點(diǎn)、父節(jié)點(diǎn)表示一棵樹(shù),比如:
西安 陜西
陜西 中國(guó)
江西 中國(guó)
中國(guó) 亞洲
泰國(guó) 亞洲
輸入一個(gè)節(jié)點(diǎn)之后,請(qǐng)打印出來(lái)樹(shù)中他的所有下層節(jié)點(diǎn)。
輸入描述
第一行輸入行數(shù),下面是多行數(shù)據(jù),每行以空格區(qū)分節(jié)點(diǎn)和父節(jié)點(diǎn)
接著是查詢節(jié)點(diǎn)
輸出描述
輸出查詢節(jié)點(diǎn)的所有下層節(jié)點(diǎn)。以字典序排序。
備注: 樹(shù)中的節(jié)點(diǎn)是唯一的,不會(huì)出現(xiàn)兩個(gè)節(jié)點(diǎn),是同一個(gè)名字
示例1
輸入:
5
b a
c a
d c
e c
f d
c輸出:
d
e
f
題解
這道題是一個(gè)樹(shù)的遍歷問(wèn)題,首先構(gòu)建樹(shù)的結(jié)構(gòu),然后深度優(yōu)先遍歷 (DFS) 樹(shù)的某一節(jié)點(diǎn),收集其所有下層節(jié)點(diǎn)并按字典序排序輸出。
Java、Python、C++ 代碼中,都定義了一個(gè)