Vous aurez besoin d'une fonction d'assistance pour l'impression en ligne pour js; cette fonction d'aide devrait appeler votre fonction réelle preorder
. A l'intérieur de votre fonction preorder
, vous devez toujours mettre à jour la chaîne "passée" (j'explique le "" après).
Si le noeud courant est vide, vous devriez retourner la chaîne courante que vous avez en ce moment, sinon elle l'essuierait.
function doPreOrder(root, str) {
if(!root) {
return str;
}
if(!str) {
str = "";
}
if(root) {
str += root.val + ' ';
str = doPreOrder(root.left, str);
str = doPreOrder(root.right, str);
}
return str;
}
function preOrder(root) {
var x = doPreOrder(root);
console.log(x);
}
Comme vous pouvez le voir, nous avons d'abord besoin d'utiliser la fonction, et ne passe root. Nous lui transmettons un var indéfini, et ce sera la seule fois où nous entrerons le code str = ""
, et à partir de là, le str
sera mis à jour pour chaque nouvelle donnée. A la fin, vous venez de consigner le journal que var.