Solutions saying "they all must have white caps or it wouldn't be fair" are no good.
Imagine you are the person who wins, person 1. He looks and sees two caps. he imagines he has a black cap. He puts himself in the position of the next chap. If he saw two black caps he would have immediately said "I have a white cap", but he doesn't. Person 2 doesn't know. Person 3 has a white cap and person 2 doesn't know, and person 3 doesn't know, so neither sees a black cap and person 1 must have a white cap!