Easy
Given the root
of a binary tree, return its maximum depth.
A binary tree’s maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.
Example 1:
Input: root = [3,9,20,null,null,15,7]
Output: 3
Example 2:
Input: root = [1,null,2]
Output: 2
Constraints:
[0, 104]
.-100 <= Node.val <= 100
%% Definition for a binary tree node.
%%
%% -record(tree_node, {val = 0 :: integer(),
%% left = null :: 'null' | #tree_node{},
%% right = null :: 'null' | #tree_node{}}).
-spec max_depth(Root :: #tree_node{} | null) -> integer().
max_depth(null) ->
0; % If the tree is empty, its depth is 0.
max_depth(#tree_node{left = Left, right = Right}) ->
% Find the maximum depth of the left and right subtrees, then add 1.
1 + max(max_depth(Left), max_depth(Right)).