Ένα φορτίο με εφόδια έκτακτης ανάγκης έχει φτάσει, αλλά υπάρχει ένα πρόβλημα. Για να προστατευτούν από ζημιές, τα είδη, φακοί, κιτ πρώτων βοηθειών, κουβέρτες, είναι συσκευασμένα μέσα σε κουτιά, και μερικά από αυτά τα κουτιά είναι εμφωλευμένα πολλά στρώματα βαθιά μέσα σε άλλα κουτιά!
Για να είσαι έτοιμος για μια έκτακτη ανάγκη, τα πάντα πρέπει να είναι εύκολα προσβάσιμα σε ένα κουτί. Μπορείς να ξεπακετάρεις όλα τα εφόδια και να τα βάλεις σε ένα μόνο κουτί, ώστε να είναι έτοιμα όταν τα χρειαστείς περισσότερο;
Πάρε έναν εμφωλευμένο πίνακα οποιουδήποτε βάθους και επέστρεψε έναν πλήρως ισιωμένο πίνακα.
Σημείωσε ότι ορισμένες γλώσσες μπορεί να περιλαμβάνουν τιμές που μοιάζουν με null στον πίνακα εισόδου, και ο τρόπος με τον οποίο αναπαρίστανται αυτές οι τιμές ποικίλλει ανά γλώσσα. Τέτοιες τιμές θα πρέπει να εξαιρούνται από τον ισιωμένο πίνακα.
Επιπλέον, η είσοδος μπορεί να είναι διαφορετικού τύπου δεδομένων και να περιέχει διαφορετικούς τύπους, ανάλογα με τη γλώσσα.
Έλεγξε τη σουίτα δοκιμών για λεπτομέρειες.
είσοδος: [1, [2, 6, null], [[null, [4]], 5]]
έξοδος: [1, 2, 6, 4, 5]
Γράψου στο Exercism για να μάθεις και να κατακτήσεις Common Lisp με 27 έννοιες92 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.