Inannzitutto porta rispetto per chi interviene dandoti una aiuto anche solo dedicandoti 5 minuti del suo tempo...come del resto faccio io, soluzione non compilata e verificata:

codice:
tipoNodo *LastFirst(tipoNodo *lista){
	//se la lsita ha meno di due elementi non faccio nulla
	if((lista == NULL) || (lista -> next == NULL))
		return lista;
	//memorizzo il primo elemento originario
	tipoNodo *first = lista;
	//trovo il penultimo elemento che esiste di sicuro
	while(lista -> next -> next != null)
		lista = lista -> next;
	//temp è il penultimo elemento
	tipoNodo *temp = lista;
	//facciamo puntare lista all'ultimo
	lista = lista -> next;
	//scollego il penultimo dall'ultimo
	temp -> next = null
	//collego il nuovo primo con il vecchio secondo
	lista -> next = first;
	return lista
}