My experience is that you could walk up to one of the transit hotels and get at least a room in one of them. Terminal 1 Aerotel is more likely to be booked. Terminal 3 Ambassador is the next easiest to get to and I've stayed there the last 2 times. If for some reason those two are fully booked, you could get the Ambassador at Terminal 2, but they'll warn you that there's a lot of hammering noise due to the renovation works at that terminal. You'll also have to go the long way if you're from Terminal 1, having to take the skytrain to 3, and then onward to Terminal 2 (my experience in late November as parts of Terminal 2 is closed off due to renovations).