Nœud de classe
{
constructeur(données) {
this.left = null;
this.right = null;
this.val = données ;
}
}
fonction newNode(données)
{
let temp = new Node(data);
température de retour ;
}
fonction countNodes (racine)
{
soit q = [];
let m = Number.MIN_VALUE;
q.push([ root, m ]);
laissez compter = 0;
while (q.longueur > 0) {
laissez temp = q[0];
q.shift();
laisser nœud = temp[0];
let num = temp[1];
if (node.val >= num)
compte++ ;
m = Math.max(node.val, num);
si (noeud.gauche)
q.push([ node.left, m ]);
si (noeud.droit)
q.push([ node.right, m ]);
}
nombre de retours ;
}
laissez racine = null;
racine = nouveauNoeud(3) ;
root.left = newNode(1);
root.right = newNode(4);
root.left.left = newNode(3);
root.right.left = newNode(1);
root.right.right = newNode(5);
document.write(countNodes(root));
Nœud de classe
{
constructeur(données) {
this.left = null;
this.right = null;
this.val = données ;
}
}
fonction newNode(données)
{
let temp = new Node(data);
température de retour ;
}
fonction countNodes (racine)
{
soit q = [];
let m = Number.MIN_VALUE;
q.push([ root, m ]);
laissez compter = 0;
while (q.longueur > 0) {
laissez temp = q[0];
q.shift();
laisser nœud = temp[0];
let num = temp[1];
if (node.val >= num)
compte++ ;
m = Math.max(node.val, num);
si (noeud.gauche)
q.push([ node.left, m ]);
si (noeud.droit)
q.push([ node.right, m ]);
}
nombre de retours ;
}
laissez racine = null;
racine = nouveauNoeud(3) ;
root.left = newNode(1);
root.right = newNode(4);
root.left.left = newNode(3);
root.right.left = newNode(1);
root.right.right = newNode(5);
document.write(countNodes(root));