Troppo lungo (Originariamente inviato da ViRUZ_gTi
codice:public Nodo inverti(Nodo attuale, Nodo precedente){ //se arrivo all'ultimo nodo della lista if(attuale.next==null){ if(precedente!=null) { //restituisco un nodo che punta al nodo precedente Nodo nuovo = new Nodo(attuale.elemento,precedente); //ricorsivamente fino a quando il nodo precedente non è nullo return nuovo.inverti(nuovo, attuale); } else return new Nodo(attuale.elemento); } //effettuo una ricorsione finchè non arrivo all'ultimo nodo else return next.inverti(attuale,precedente); }io l'ho fatto con 3 righe di codice, senza alcun if e solo 1 operatore ternario ?: ).
Ma a parte la lunghezza, non vedo perché devi istanziare dei nuovi nodi. C'è solo da modificare il 'next' dei nodi e basta.