【发布时间】:2012-11-05 19:52:11
【问题描述】:
我对树很陌生,我正在尝试创建一种“叶子迭代器”。我认为它应该将所有没有.left 和.right 值的节点放到一个堆栈中,但我不确定如何做,或者即使它是正确的做法。我已经尝试搜索它,但是我遇到的每个示例都从转到最左边的叶子开始,然后转到 p = node.parent,并且我避免链接到节点的父节点。
我不明白我怎么能重复从根开始,穿过藤蔓,而不是一遍又一遍地访问相同的藤蔓。
编辑
我看到人们建议使用递归方法来解决这个问题,我现在同意了。但是我一直在努力寻找迭代器类方式的解决方案来做到这一点,我仍然想知道这是否可能,以及如何!
【问题讨论】:
-
我会推荐递归而不是迭代方法。
标签: java algorithm iterator nodes binary-search-tree