I would say the easiest way is to do it by induction on the depth of a tree.
You can prove a) and use this to derive b) easily.
I dont want to spoil you the whole work, but if that does not help you, let us know...
Prove the following lemmas :
a) There are at most 2^d nodes at depth d of a binary tree.
b) A binary tree with height h has at most 2^(h+1)-1 nodes
c) A binary tree with n nodes has height at least ceiling(lg(n+1))-1
Can someone get me started with this questions.