Invertir las palabras de una cadena

Published by SyntaxGardener in

Dada una cadena, invierte sus palabras para que la primera palabra pase a ser la última, la segunda pase a ser la penúltima, y así sucesivamente.

Una palabra es una secuencia de caracteres que no son espacios. Elimina los espacios iniciales y finales, y reduce los espacios múltiples entre palabras a un solo espacio en el resultado.

Ejemplos

Program.ReverseWords(" the sky is blue") ➞ "blue is sky the"

Program.ReverseWords("hello   world!  ") ➞ "world! hello"

Program.ReverseWords("a good example") ➞ "example good a"

Notas

Intenta resolver esto en tiempo lineal.