BST toArray,只有一半的数组填满并且顺序错误?

时间:2018-12-02 18:03:11

标签: arrays tree binary-search-tree toarray

我正在练习编写二进制搜索树,并尝试编写一种将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;
    }

0 个答案:

没有答案