It can transform into anything. When it sleeps, it changes into a stone to avoid being attacked.
A DITTO rearranges its cell structure to transform itself. However, if it tries to change based on its memory, it will get details wrong.