https://leetcode.com/problems/maximum-depth-of-binary-tree/description/
Given a binary tree, find its maximum depth.
The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.
For example:
Given binary tree [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
return its depth = 3.
time: o(n): worst case linked list: n nodes, each take o(1)
space: o(n): worst case linked list: n nodes, each take one calling stack
1 public int maxDepth(TreeNode root) {
2 if (root == null) return 0 ;
3 int l = maxDepth(root.left);
4 int r = maxDepth(root.right) ;
5 return Math.max(l,r)+ 1;
6 }