在下图中,递归遍历子部件。每个孩子都必须报告其直系父母。问题是 child[3] 必须在同一行中同时报告其直接父级(即 child[2] 和 child[4])。
traverse(Node node)
{
if(node == null)
return;
for(Node child : node.getChilds()) {
traverse(child);
}
}
Parent
|---child[1]
| child[2]
| child[3]
|---child[4]
child[3]
现在我一次遍历一个节点,产生的输出是 -
Node Immediate Parent
--------------------------
child[2] child[1]
child[3] child[2]
child[3] child[4]
预期的输出是 -
Node Immediate Parent
--------------------------
child[2] child[1]
child[3] child[2], child[4]
搜索节点并为图形生成预期输出的最佳方法是什么?任何帮助,将不胜感激。