J'ai une méthode toString, qui devrait renvoyer une chaîne représentant l'ensemble de l'arbre de recherche binaire dans l'ordre. Je suis arrivé jusqu'ici, mais il s'agit simplement d'imprimer les nombres dans l'ordre, et la méthode toString renvoie simplement la valeur de rootNode bien sûr. Je ne sais pas comment je devrais résoudre ça.java Binary Search Tree inorder récursivement, chaîne de retour
@Override
public String toString() {
if (rootNode == null){
return "";
}
else {
return inorder(rootNode.data);
}
}
/**
* @param root
*/
public String inorder(Node<T> root){
if (root != null){
inorder(root.left);
System.out.println(root.value + " ");
inorder(root.right);
}
}
J'ai été coincé avec ce problème pendant des heures.
quel est le problème? votre description correspond au code. qu'attendez-vous de la fonction 'toString()'? Si possible, fournissez le code complet et l'exemple d'entrée/sortie pour votre programme. –
Non, la méthode toString doit ** renvoyer ** le BST entier en une seule chaîne, et pas seulement l'imprimer. – SuperMacster
Le problème est, dans void inorder (Noeud), il ne s'intéresse pas à l'impression, générant plutôt une séquence de String à l'intérieur de la méthode inorder (Noeud ), So, après l'appel à String s = inorder (Noeud ), s imprimerait l'arbre dans la structure inorder et dans l'ordre (Node ) devrait retourner la chaîne s'il est intéressé à renvoyer le résultat de la méthode toString() –
ShayHaned