There are some possible reasons that your public_html folder is now empty.
- Files were deleted manually
Someone may have logged in and deleted them. They also may have been moved somewhere else. Make sure to check other directories.
- FTP access was used
Users with FTP access can delete files. They might have accidentally downloaded all the files without leaving a copy behind.
- Accessing the wrong account
Be certain you are using your cPanel account and not "root".