找到树中所有叶子的位置(JAVA)

时间:2013-05-30 08:16:49

标签: java tree

让我们假设我有一棵树,如下所示:

     O
    / \
   O   \
  / \   \
 A   B   C

如何查找此树中所有叶子的位置并将其输出到数组或HashMap中?

所以上面的树会返回:

{{  A   ,     00      },{  B   ,     01      },{  C   ,   1   }}
   leaf    left, left     leaf   left, right     leaf   right

我正在考虑迭代树,直到找到一片叶子并记住它走了哪条路。但我不确定这是否是最有效的方法。

任何想法如何实施?

1 个答案:

答案 0 :(得分:2)

假设没有可用的元数据,最简单的解决方案可能只是一个常规的深度优先搜索,其中包含到目前为止所采用路径的堆栈。我不知道如何以更有效的方式做到这一点。