Cracking the code interview, written in Java