crack the coding interview cha.9.7 done