Instructions
 
Go to the area with the highest-level random Pokemon you have reached. 
Move Haunter to the first position in your Pokemon roster. This makes him the default choice when a battle starts. 
Wander around the area until you start a random encounter. 
Switch to your most powerful Pokemon. 
Defeat the random encounter. The experience is divided between Haunter and the Pokemon you used to defeat your opponent. 
Repeat Steps 3 through 5 until Haunter reaches level 42. Haunter evolves as soon as it reaches level 42.