Invertir las palabras de una cadena

Dada una cadena de entrada, invierte el orden de sus palabras.

Ejemplos

reverseWords("the sky is blue") // "blue is sky the"
reverseWords("  hello world!  ") // "world! hello"
reverseWords("a good   example") // "example good a"

Notas

  • Una palabra se define como una secuencia de caracteres que no sean espacios.
  • La cadena de entrada puede contener espacios al principio o al final. Sin embargo, la cadena invertida no debe contener espacios al principio ni al final.
  • Debes reducir los espacios múltiples entre dos palabras a un solo espacio en la cadena invertida.
  • Intenta resolverlo en tiempo lineal.

Descripción y solución en video