Police launched a murder investigation after the body of the 17-year-old was found in the western German town of Sankt Augustin, near Bonn, in the state of North Rhine-Westphalia, on Sunday.
The girl, from the nearby town of Unkel in the Rhineland-Palatinate state, was reported missing by her parents on Friday afternoon.
On Monday, police said they had arrested a 19-year-old man in connection with the death. The man was born abroad, but has German citizenship, the spokesman said.
The police spokesman added that before her death, the 17-year-old had visited a man two years older than her in an urban shelter where refugees/asylum seekers and homeless people are accommodated.
After an extensive search over the weekend involving at least 150 emergency workers, police found the body in the shelter at around 8pm on Sunday. Earlier in the day investigators had recovered the teenager's clothes and handbag next to the nearby lake Sieglar after members of the public had spotted belongings.
The shelter is located on the edge of an industrial estate next to a railway line. After the forensic team was deployed to the scene, the girl's body was taken from the building early on Monday morning.
According to the volunteer fire brigade, which was on duty, emergency chaplains have been assisting relatives of the victim. The mayor of the city, Klaus Schumacher, also visited the scene.