Binary Recherche Arbre dans l'ordre Traversal à un nouveau tableau

voix
1

Je l'ai fait un BST dans l'ordre traversal tout en imprimant à la console comme un exercice, mais la tâche était d'ajouter dans une nouvelle liste ...

J'ai essayé de le faire d'une manière similaire en créant la liste en dehors de la méthode et incrémenter une valeur « x » tout en ajoutant au tableau [i] liste mais je continue à obtenir un NullPointerException

Quelqu'un peut-il me aider à comprendre pourquoi?

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

Merci

Créé 16/03/2015 à 14:43
source utilisateur
Dans d'autres langues...                            


1 réponses

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

Vous avez réellement besoin d' initialiser le tableau

int[] bstArray=new bstArray[someLength]; <------- like this
then use 
bstArray[x] = node.getValue();
Créé 16/03/2015 à 14:45
source utilisateur

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