> For the complete documentation index, see [llms.txt](https://www.vjssn.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.vjssn.dev/practice/24-06-23/lc104-maximum-depth-of-binary-tree.md).

# LC104 - Maximum Depth of Binary Tree

## Problem

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

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

**Output:** 3

## Solution

```python
def maxDepth(self, root: Optional[TreeNode]) -> int:
	
	def dfs(root, depth):
		if not root:
			return depth
		mDepth = max(dfs(root.left, depth+1), dfs(root.right, depth+1))
		return mDepth

	return dfs(root, 0)
```
