Just recurse to both left and right leaves and them return the max of depths.

```
public class Solution {
public int maxDepth(TreeNode root) {
if (root == null) {
return 0;
}
return Math.max(maxDepth(root.left) + 1, maxDepth(root.right) +1);
}
}
```