Why did the Indian sleep in the hotel lobby?
Q: Why did the Indian sleep in the hotel lobby?
A: Because he didn't have a reservation
This is a racist pun. The pun is the fact that the word reservation can mean both having a room in a hotel kept especially for you, and also a place that the U.S. government set aside for Native Americans to live on.
Native Americans are also called Indians colloquially in the US, in memory of when Christopher Columbus thought that he had discovered another sea route to India, so the Indians in this joke should actually be Native Americans.