Attacker would need to control more computational power than everybody else combined. To reverse his own transaction in last block he would need to privately rebuild the block with transaction removed and build another block on top of it before network builds one on top of original one.
Attacker cannot remove other people's transactions, at least not permanently.
Check wiki for more information.