Cracking the Coding Interview, 6th Edition 189 Programming Questions and Solutions part1