TRUNCATE and CREATE AS SELECT are much faster than deleting the whole table since they generate less redo logging.
They are, however, DDL commands and cannot be rolled back in some systems.
However, DELETE may still be faster if there are few rows to delete.
If half of rows are to be deleted, then most probably the first option will be faster, at least in Oracle.