【发布时间】:2020-12-12 21:00:11
【问题描述】:
我必须为二叉树实现一个自定义迭代器,“下一个方法”正在对二叉树进行排序。我不允许使用任何 java.util 包,所以我不能为此使用堆栈。
@Override
public T next() {
T result = node.data;
if (node.rightChild != null) {
node = smallest(node.rightChild);
} else {
node = node.parent;
}
return result;
}
private Nodes<T> smallest(Nodes<T> n) {
if (n.leftChild != null) {
return smallest(n.leftChild);
} else {
return n;
}
}
目前,他只是迭代,直到没有更多的 rightChild。你能帮我完成“下一个方法”吗?
谢谢大家
【问题讨论】: