Challenge Statement

  • 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.
  • This challenge corresponds to LeetCode #104.

Constraints

  • The number of nodes in the tree is in the range [0, 104].
  • -100 <= Node.val <= 100

Example 1:

Input: root = [3, 9, 20, null, null, 15, 7]

Output: 3

Example 2:

Input: root = [1, null, 2]

Output: 2

Solution

Below is my solution and some test cases. This solution has a linear time complexity O(n) and a linear space complexity O(n), where n is the length of the input list.