华为OD机试 - 树状结构查询(Java)

 题目描述

通常使用多行的节点、父节点表示一棵树,比如

西安 陕西
陕西 中国
江西 中国
中国 亚洲
泰国 亚洲

输入一个节点之后,请打印出来树中他的所有下层节点

输入描述

第一行输入行数,下面是多行数据,每行以空格区分节点和父节点

接着是查询节点

输出描述

输出查询节点的所有下层节点。以字典序排序

备注

树中的节点是唯一的,不会出现两个节点,是同一个名字

用例

输入

5
b a
c a
d c
e c
f d
c

输出

d
e
f

题目解析

用例图示如下

华为OD机试 - 树状结构查询(Java)_第1张图片

需要打印c下面的所有子节点,即d,e,f节点,按照字典序输出后是d,e,f。 

本题其实就是让我们遍历树结构,可以使用深搜或者广搜。下面代码使用广搜。

关于本题树结构,可以使用Map结构实现,

你可能感兴趣的:(Java,华为OD机试AB卷,java,华为od,开发语言,算法)