BinaryTreeMaxPathSum

take some hints from forum. key: subtree sum <0 won't be taken as path
anyway, so return 0.
BalancedBinaryTree

check for balanced tree. the key here is to keep tracking of the tree
height, but also user -1 as return to signal subtree is already
unbalanced. also very easy to make the mistake that missing the +1 in
the return.
MinimumDepthofBinaryTree

key to this problem is to understand it has to be from root to a leaf
node. if the root doesn't have left node on one side, that side isn't
qualified to be min path.