列表包含父母和孩子。根节点的父节点为-1。我必须从这里创建一棵树,但是在其父节点之前不能创建任何子节点。
父母的子女名单
3 7
3 6
2 5
-1 1
2 4
1 2
1 3
以下算法将起作用:
Map
从Integer
初始化为List/Array[Integer]
。这里,key
代表Parent
,List/Array[Integer]
代表Childrens
。parent child list
。对于每个条目,填充在步骤1中创建的Map
。即,对于问题中提到的示例,Map
如下所示:
-1 -> [1]
1 -> [2, 3]
2 -> [4, 5]
3 -> [6, 7]
Map
,请按键对Map
进行排序。Key, Value
中的每个Map
,为父级创建节点,然后为其子级创建节点。对于其余的Key, Value
对,请遵循此规则。这将确保总是在Parent
之前准备好Child
。