let depth n =
let rec loop n k =
match n with
| Leaf -> k 0
| Node (_, left, right) ->
loop left (fun v1 -> loop right (fun v2 -> k (1 + max v1 v2)))
in
loop n (fun x -> x)
4
Sigiloso
24 de dez. de 2017
max_depth = 0
def dfs(node, counter):
if node is not None:
counter += 1
if node->left is None and node -> right is None:
max_depth = max(max_depth, counter)
else:
dfs(node->left, counter)
dfs(node->right, counter)