2016-01-24 4 views
-3

// Essayer de renvoyer une liste contenant les valeurs de 'a' en traversant les noeuds en post-commande. Dans Junit, il est dit que "String ne peut pas être casté en List". Aidez-moi, s'il vous plaît.Traversée de l'ordre binaire de l'arbre binaire Java récursivement

public static List postorder(Tree a) { 
     if (a.getEmpty()) 
      return List.empty(); 
     else 
       postorder(a.getLeft()); 
       postorder(a.getRight()); 

       return ListOps.append(postorder(a.getLeft()), 
         List.cons(a.getValue(), postorder(a.getRight()))); 
      } 
+0

S'il vous plaît lire ceci: http://stackoverflow.com/help/how-to-ask et au moins ajouter votre exception – Teo

+0

Donnez-nous un indice sur votre problème. Qu'est-ce qui vous fait penser que quelque chose ne va pas avec votre code? –

+0

Que retourne 'ListOps.append (...)'? De votre erreur, je ferais une forte supposition qu'elle renvoie un 'String', tandis que votre méthode renvoie un' List'. – Ian

Répondre

1

Je pense que le problème est ici: ListOps.append(.. Je dis probablement parce que votre question est tout à fait claire, donc je pense que ListOps est un String, mais votre retour de méthode List ...

Il faut donc utiliser une ArrayList ou d'une autre classe qui mettent en œuvre List, et ajouter les éléments dans ce ...

+0

Ok merci, je vais essayer ça! –

+0

Non, j'ai rencontré d'autres problèmes et j'ai dû passer à autre chose, merci de demander. –