我对树结构比较陌生,正在尝试创建一种“叶子迭代器”。我的想法是把所有没有.left
和.right
值的节点放到一个栈上,但我不确定这样做是否正确,也不知道怎么做。我已经尝试搜索,但我找到的每个例子都是从最左边的叶子开始,然后去p = node.parent
,但我不想链接到节点的父节点。
我不明白如何重复从根节点开始遍历树枝,而不会反复访问相同的树枝。
编辑
我看到有人建议使用递归方法来解决这个问题,现在我同意了。但我一直在思考用迭代器类的方法来实现这个,而且我仍然想知道是否可能以及如何实现!