Die maximale Tiefe des Niuke Top101 BM28-Binärbaums – JS-Implementierung

beschreiben

Finden Sie die maximale Tiefe eines bestimmten Binärbaums.

Die Tiefe bezieht sich auf die Anzahl der Knoten auf dem Pfad vom Wurzelknoten des Baums zu einem beliebigen Blattknoten.

Die maximale Tiefe ist der Maximalwert der Tiefen aller Blattknoten.

(Hinweis: Ein Blattknoten bezieht sich auf einen Knoten ohne untergeordnete Knoten.)

Datenbereich: 0≤n≤100000, der Wert jedes Knotens im Baum erfüllt die Anforderungen von ∣val∣≤100
: Raumkomplexität O(1), Zeitkomplexität O(n)

Beispiel 1

eingeben:

{1,2}

Rückgabewert:

2

Beispiel 2

eingeben:

{1,2,3,4,#,#,5}

Rückgabewert:

Idee: Verwenden Sie die rekursive Methode, um 1 zu der von der Rekursion der unteren Ebene zurückgegebenen Zahl hinzuzufügen. Da die Tiefe der linken und rechten Seite der Rekursion unterschiedlich ist, verwenden wir Mathematik.

 Vollständiger Code:

/*
 * function TreeNode(x) {
 *   this.val = x;
 *   this.left = null;
 *   this.right = null;
 * }
 */

/**
  * 
  * @param root TreeNode类 
  * @return int整型
  */
function maxDepth( root ) {
    // write code here
    const dis=computed(root);
    return dis;
}
function computed(root) {
  if(!root) return 0;
  let left=computed(root.left);
  let right=computed(root.right);
  return Math.max(left+1,right+1);
}
module.exports = {
    maxDepth : maxDepth
};

Acho que você gosta

Origin blog.csdn.net/qq_43781887/article/details/128217408
Recomendado
Clasificación