Inverser efficacement l'ordre des mots (et non des caractères) dans un tableau de caractères

Donné un tableau de caractères qui forme une phrase, des mots, donner un algorithme efficace pour inverser l'ordre des mots (pas de caractères).

Exemple d'entrée et de sortie:

>>> reverse_words("this is a string")
'string a is this'

Il convient de O(N) en temps et O(1) espace (split() et en poussant sur /sautant hors de la pile ne sont pas autorisés).

Le puzzle est pris de ici.

source d'informationauteur jfs