我正在练习编写二进制搜索树,并尝试编写一种将BST转换为数组的方法(首先不转换为ArrayList)。由于某种原因,只有一半的数组“填满了”,这些值以错误的顺序放置,其余的数组索引设置为null。我不知道我在哪里出问题了。请指导我,我是初学者!
public Object[] toArray() {
Object arr[] = new Object[size];
return fillArrayInorder(root, arr, 0);
}
private Object[] fillArrayInorder(Node<E> node, Object[] arr, int index) {
if (node != null) {
fillArrayInorder(node.left, arr, index);
arr[index++] = node;
fillArrayInorder(node.right, arr, index);
}
return arr;
}