Двоичное дерево упорядоченной Traversal в новом массиве

голоса
1

Я сделал обход BST упорядоченного во время печати на консоль в качестве упражнения, но задача в том, чтобы добавить его в новый список ...

Я пытался делать это подобным образом путем создания списка вне метода и увеличивающиеся значения «х» в то время как добавление в массив [I] список, но я постоянно получаю NullPointerException

Может кто-нибудь помочь мне понять, почему?

int[] bstArray;
int x = 0;

public int[] returnInOrderTraversal(BSTNode node) {
    if(node == null) return bstArray;

    if(node.getLeftChild() != null) {
        returnInOrderTraversal(node.getLeftChild());
    }

    bstArray[x] = node.getValue();
    x++;

    if(node.getRightChild() != null) {
        returnInOrderTraversal(node.getRightChild());
    }

    return bstArray;
}

благодаря

Задан 16/03/2015 в 14:43
источник пользователем
На других языках...                            


1 ответов

голоса
5
int[] bstArray;  <-------- This line does not create the Array

Вы на самом деле нужно инициализировать массив

int[] bstArray=new bstArray[someLength]; <------- like this
then use 
bstArray[x] = node.getValue();
Ответил 16/03/2015 в 14:45
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more