8. Hloubka stromu
Vrať maximální hloubku binárního stromu, tedy počet uzlů na nejdelší cestě od kořene k listu.
Strom je v testech zapsaný po úrovních jako na LeetCode (null = chybějící uzel). Třída TreeNode je už definovaná:
class TreeNode { val: number; left: TreeNode | null; right: TreeNode | null; constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null);}Příklady
Vstup
root = [3, 9, 20, null, null, 15, 7]Výstup
3Vstup
root = [1, null, 2]Výstup
2Rekurze: hloubka prázdného stromu (null) je 0. Jinak je to 1 + Math.max(hloubka levého podstromu, hloubka pravého podstromu).
1function maxDepth(root: TreeNode | null): number {2 if (root === null) return 0;3 return 1 + Math.max(maxDepth(root.left), maxDepth(root.right));4}5