Inverter as palavras de uma string

Dada uma string de entrada, inverta a ordem das palavras.

Exemplos

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

Notas

  • Uma palavra é definida como uma sequência de caracteres que não sejam espaços.
  • A string de entrada pode conter espaços no início ou no final. No entanto, a string invertida não deve conter espaços no início nem no final.
  • Você deve reduzir vários espaços entre duas palavras a um único espaço na string invertida.
  • Tente resolver isso em tempo linear.

Descrição e solução em vídeo