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.