*Edit* Just one question: Do we have to cater for reading/popping something unexpected (like say a /\) and moving to a reject state?
I just noticed that you didn't do that, it would save a lot of time if it's not required.
Great! thanks for spotting that error would have cost me a point or two!
Will have to remember that in the exams, I do sometimes assum that the machine knows that the next Read will result in an empty / null character being red.
But we have to force the machine to carry on reading since it cannot predict what the next character will be and that it IS in fact at the end of the tape!
Here is my correct (ignore the funny block in the Start state)