查找树中所有叶子的位置(JAVA)
假设我有一棵树,如下所示:查找树中所有叶子的位置(JAVA),java,tree,Java,Tree,假设我有一棵树,如下所示: O / \ O \ / \ \ A B C 我该如何找到树中所有叶子的位置并将它们输出到数组或HashMap中 因此,上面的树将返回: {{ A , 00 },{ B , 01 },{ C , 1 }} leaf left, left leaf left, right leaf right 我想沿着这棵树迭代,直到它找到一
O
/ \
O \
/ \ \
A B C
我该如何找到树中所有叶子的位置并将它们输出到数组或HashMap中
因此,上面的树将返回:
{{ A , 00 },{ B , 01 },{ C , 1 }}
leaf left, left leaf left, right leaf right
我想沿着这棵树迭代,直到它找到一片叶子,并记住它所走的路。但我不确定这是否是最有效的方法
有什么想法可以实现吗?假设没有现成的元数据可供使用,最简单的解决方案可能只是一个常规的深度优先搜索,其中包含迄今为止所采用的路径堆栈。我看不出怎样才能以更有效的方式来做这件事。你可以在树上迭代,直到找到一片叶子并记住它的路径。真的,这个问题听起来太像“我想让别人为我做这件事,我会说些什么,我希望我能得到一个带有代码的答案”为什么你认为这样?我要密码了吗?!我已经有了向下迭代的想法,我正在寻求一种更有效的方法的建议。