Vorrei scrivere un programma che riceva in input una stringa con due valori "first" e "last", che indicano rispettivamente la prima e l'ultima casella dell'intervallo della stringa su cui operare, e restituisca la stessa stringa dopo aver cancellato gli spazi. Purtroppo non riesco ad arrivare ad un algoritmo decente. Una soluzione che ho pensato io :
- considero come caso base un vettore di 2 elementi, se l'elemento di sinistra è uno spazio lo scambio di posto con l'elemento di destra. Poi richiamo la funzione ricorsiva sulla stringa di estremi first+1 e last. Cosi facendo però mi trovo ad annullare solo uno spazio per ogni volta che viene chiamata la funziona, dal momento che prima o poi si troveranno due spazi consecutivi di cui solo uno andrà via.

Aspetto qualche consiglio, ancora meglio se in pseudo-codice...