By 'rebuild' I assume you mean 'restore from backups'?
Which method you use depends on the level of integrety you need to maintain. MySQL does not care at al about data integrety, so if you repair the tables, there is a chance that some data will be removed from the table/corrupted for ever.
A restore on the other hand means going back to the data the way it was before the table got corrupted in the first polace, because obviously restoring a corrupted table using a backup of the same corrupted table is no good.
So the choice is yours. If you have a backup, you can also decide to see what repairing the table gives you, and if that is not good enough you can restore from backup anyway.