Solutions to Cracking the Coding Interview problems