A 17-year-Latvian attacked and injured "several" people with an axe in a Swiss village on Sunday night.
Police have said there is no indication of terrorism.
St. Gallen canton (state) police said the rampage began shortly after 8pm when the teenager attacked several people at a town square in Flums in the northeast of the country.
He then fled with a stolen car, which later was involved in an accident. Police closed roads and helicopters flew overhead as they tried to apprehend the assailant, according to reports.
The suspect continued on foot before attacking more people at a gas station shop, where he was arrested, police said.
Police think the arrested teenager acted alone and the statement said there was no indication he has ties to extremists.
Police didn't specify exactly how many people were hurt and said they were working to determine how serious the injuries were.
No information on a possible motive was provided.
The teenager reportedly escaped in a car after the attack.