Myślę, że można to zrobić na kilka sposobów, jeden (pewnie nie optymalny) to trzy pętle for:
1) liczy ile jest spacji w string'u i stwórz dwie tablice int'ów o takim rozmiarze
2) przechodzi po całym string'u, do jednej tablicy zapisuje długość słów przed spacjami, do drugiej indeksy spacji
3) za pomocą funkcji replace() w miejsce starych spacji (indeksy masz w tablicy) wstawia stringi składające się z odpowiedniej ilości spacji (ilość w drugiej tablicy), które stworzysz (pętlą for lub funkcją repeat()). Tylko pamiętaj żeby zamieniać te spacje zaczynając od ostatniej, bo jak zaczniesz od pierwszej to wszystko się poprzesuwa i nic nie zrobisz.
Algorytm bardzo prosty, teraz tylko spróbuj to napisać