Remove the existing hardwood or floor covering by prying up a board or section closest to the wall with a crowbar or pry bar. You may have to remove the floor molding or baseboard to do this; if so, use a utility razor to cut through the paint between the baseboard and the wall, then pry them off with a chisel. Once you get one piece of hardwood flooring up, continue to unfasten the rest. If you plan to use the hardwood again, mark the ends of each piece so you know where they go when you reinstall them.
Find the highest point in the subfloor using your eye. If it isn't obvious, use a tape measure to measure the height of different spots on the floor.
Patch low areas using leveling compound. Mix the compound with water per instructions. Pour it over the uneven areas. Use a towel to level it out and wipe up excess. Be as precise as possible, though if the floor is slightly imperfect, it won't be noticeable. Use a level on top of a 2-by-4 piece of wood to ensure each area is level. Add more compound if it is still uneven.
Reinstall the hardwood or a new floor covering. Start with the last piece you pried up, and install the remaining pieces in reverse order from how you removed them. Pay close attention to how they are marked so you put the right pieces in the correct places. Nail the baseboard back onto the wall if applicable.