Given the root of a binary tree, return its maximum depth — the number of nodes along the longest path from the root down to the farthest leaf.
The tree is given in level-order (TreeNode with { val, left, right }, null for a missing child).
[3,9,20,null,null,15,7][1,null,2][][1][1,2,3,4,null,null,5]