Je rencontre un problème lorsque ma méthode renvoie uniquement le nœud racine en tant que chaîne. Alors qu'il imprime l'ordre de publication correctement si j'imprime le nœud dans la méthode helperPostOrder.Problème lié à l'expression de l'arborescence du post-retour à l'aide de la récursivité dans Java
public String postorder()
{
return helperPostOrder(root, ""); // method calling
}
private String helperPostOrder(Node root , String s){
if(root != null)
{
if(hasLeft(root)){
helperPostOrder(root.left, s);
}
if(hasRight(root)){
helperPostOrder(root.right, s);
}
s = s + " " + root;
}
return s;
}
Votre appel récursif 'helperPostOrder (root.left, s);' ne modifie pas 's', la valeur que vous allez retourner. C'est probablement pourquoi votre méthode renvoie la valeur racine sans les sous-arbres gauche et droit. –