Recentemente ho avuto un colloquio con una società rispettabile per la posizione di Software Developer e questo era una delle domande ha chiesto:stampa tutti i file in una determinata cartella e sottocartelle senza usare la ricorsione/pila
"Dato i seguenti metodi:
List subDirectories(String directoryName){ ... };
List filesInDirectory(String directoryName) { ... };
Come suggeriscono i nomi, il primo metodo restituisce un elenco di nomi di immediati sotto-directory nella directory di input ('directoryName') e il secondo metodo restituisce un elenco dei nomi di tutti i file in questa cartella
Stampa a tutti i file nel file system. "
Ci ho pensato e ho dato all'intervista una soluzione ricorsiva piuttosto ovvia. Poi mi ha detto di farlo senza ricorsione. Dal momento che la ricorsione usa lo stack delle chiamate, le ho detto che userò uno stack ausiliario, al punto in cui mi ha detto di non usare neanche uno stack. Sfortunatamente, non sono riuscito a trovare una soluzione. Ho chiesto come si può fare senza ricorsione/pila, ma lei non lo direbbe.
Come si può fare?
è ha permesso di memorizzare il percorso completo su una variabile? – lqs
Non sono sicuro .. Non l'ho chiesto all'intervistatore! – user1784540