Binar de căutare Tree-Order Traversare la o nouă matrice

voturi
1

Am făcut o traversal BST în ordine în timp ce imprimarea la consola ca un exercițiu, dar sarcina a fost de a adauga într-o nouă listă ...

Am încercat să fac un mod similar, prin crearea listei în afara metodei și incrementarea o valoare „x“ în timp ce adăugarea la [i] lista de matrice, dar am păstra achiziție o NullPointerException

Poate cineva să mă ajute seama de ce?

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

Mulțumiri

Întrebat 16/03/2015 la 14:43
sursa de către utilizator
În alte limbi...                            


1 răspunsuri

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

De fapt , ai nevoie pentru a inițializa matrice

int[] bstArray=new bstArray[someLength]; <------- like this
then use 
bstArray[x] = node.getValue();
Publicat 16/03/2015 la 14:45
sursa de către utilizator

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