Binary Search Tree In-Παραγγελία διέλευσης σε μια νέα σειρά

ψήφοι
1

Έχω κάνει διάσχιση BST στην παραγγελία, ενώ την εκτύπωση στην κονσόλα σαν μια άσκηση, αλλά το έργο ήταν για να το προσθέσετε σε μια νέα λίστα ...

Προσπάθησα να το κάνουμε ένα παρόμοιο τρόπο, δημιουργώντας τη λίστα έξω από τη μέθοδο και προσαύξηση τιμή «x», ενώ η προσθήκη στην σειρά [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