我对树很新颖,我试图创建一种“叶子迭代器”。我认为它应该把没有.left
和.right
值的所有节点放到堆栈上,但我不知道如何或者甚至是否是正确的做法。我尝试过搜索它,但是我过来的每个示例都是从最左边的叶开始的,然后去掉p = node.parent
,并且我避免链接到节点的父节点。通过二叉搜索树遍历来查找所有树叶
我不明白我怎么可以反复地从根开始,经过葡萄藤而不是一遍又一遍地访问相同的葡萄树。
编辑
我看到有人建议使用递归的方法来解决这个问题,我现在同意。但是我一直在努力寻找解决方案,以迭代器类的方式来做这件事一段时间,我仍然想知道这是否可能,以及如何!
我会建议通过迭代方法递归。 – Woot4Moo