CTCI2.cc: CTCI chapter 2