La mia idea è di usare una variabile statica che rappresenta la stringa che alla fine andrà restituita,questa stringa all' inizio sarà vuota,poi man mano che scandisci le stringhe se ne trovi uno nuovo lo allochi,fai il controllo carattere per carattere,alla fine del controllo se la stringa non è finita (guardi se c'è il terminatore) passi alla stessa funzione il carattere successivo.Poi se e solo se entrambe le due stringhe sono finite ritorni l' array di char,statico e che viene allocato di un carattere in più solo se il carattere non è già presente.
Spero che è chiaro,prova a farla semmai se è sbagliata ci diamo un' occhiata.

Rispondi quotando