I had problems grasping this same problem. I know this is an old post but this might help me with my lingering question.
The OP may be doing Formal Charge instead of Oxidation Number. Which are not the same thing.
The answers to the OP make sense when you consider what you 'know', that OH is a -1 ion. But if you do the formal charge formula, you get Al = +1 (Just like i did, maybe that's what you did), and the answer was Al = +3.
The question asks "what is the oxidation number", not "what is the formal charge".
If you did the formal charge on Al you would get: BaseValence - #covalent.bonds/2 - #free.electrons.pairs = +1, (Actually now that i type this, i cant remember if it is not supposed to be BaseValence - #covalentbonds - #free.electrons, which makes no sense as an answer, but is in notes online.)
How do you do formal charge? covalent.bonds/2 or not?