There is only one correct way of dealing with spam on SE, and that is to flag the post as spam, and only that (in particular, do not downvote it):
Flagging a post in this manner doesn’t necessarily end up adding work for the site’s moderators: once six such flags are raised, the post will automatically be deleted.
Every single spam flag also results in a downvote (and in the case of answers, this doesn’t cost the flagger any reputation). Additional downvotes are not helpful, in fact they can help spam survive longer by removing it from the front page.
Additionally, if you see a spam post that hasn’t been deleted some time after it was posted (say, ten minutes), that means it hasn’t been detected by SmokeDetector. Such posts should be reported to Charcoal HQ, ideally before they are deleted; doing so allows the people involved with Charcoal to adapt the detections such that future instances of similar spam are detected and reported, which tends to result in the spam more rapidly accumulating spam flags and, thus, being deleted faster.
All this is but a small part of Stack Exchange’s spam handling; see How does spam protection work on Stack Exchange?