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 }