Create Reverse words in a String

Given an input string, reverse the string word by word.

For example,
Given s = "the sky is blue",
return "blue is sky the".

Clarification:

What constitutes a word?
A sequence of non-space characters constitutes a word.
However, your reversed string should not contain leading or trailing spaces.
Reduce the multiple spaces to a single space in the reversed string.