Inverter palavras em uma string

Published by SyntaxGardener in

Dada uma string, inverta suas palavras para que a primeira palavra se torne a última, a segunda se torne a penúltima, e assim por diante.

Uma palavra é uma sequência de caracteres que não são espaços. Remova os espaços no início e no fim, e reduza vários espaços entre as palavras a um único espaço no resultado.

Exemplos

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

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

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

Observações

Tente resolver isso em tempo linear.