A parte i println di log che sono ok, non è quello il punto, purtroppo non ci siamo ancora. Innanzitutto non serve usare un indice, anche perché una Queue non è indirizzabile per indice. Poi oltretutto hai fatto add(i) e addFirst(i) ma così non ha senso, perché inserisci il numero dell'indice (0, 1, 2 .....), non il valore a quella posizione.
Ripeto: è sufficiente il enhanced for ("for-each") o un Iterator esplicito e poi inserire (sempre) in testa. Non serve nemmeno isEmpty().
Ah, poi il metodo sarebbe più corretto come hai scritto all'inizio, cioè che ritorna un Queue.
public static Queue<Integer> reverse( Queue<Integer> input )
P.S. me ne sono dimenticato prima ma aggiungo: per cortesia non postare codice "colorato", perché è difficile da quotare.

Rispondi quotando