Búsqueda binaria Árbol Dentro de la orden de recorrido a una nueva matriz

votos
1

He hecho un recorrido BST en orden, mientras que la impresión en la consola como un ejercicio, pero la tarea era para agregarlo a una lista nueva ...

He intentado hacerlo de forma similar mediante la creación de la lista fuera el método y el incremento de un valor de 'x', además de añadirse a la lista de arreglo [i], pero me siguen dando una NullPointerException

¿Puede alguien ayudarme a averiguar por qué?

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;
}

Gracias

Publicado el 16/03/2015 a las 14:43
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
5
int[] bstArray;  <-------- This line does not create the Array

En realidad se necesita para inicializar la matriz

int[] bstArray=new bstArray[someLength]; <------- like this
then use 
bstArray[x] = node.getValue();
Respondida el 16/03/2015 a las 14:45
fuente por usuario

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