Berikut cara backspace-dan-mengetik ulang dari satu string ke yang lain:
- Mulai dari string pertama.
- Hapus karakter di bagian akhir hingga hasilnya adalah awalan dari string kedua. (Ini mungkin mengambil 0 langkah.)
- Tambahkan karakter di akhir hingga hasilnya sama dengan string kedua. (Ini mungkin mengambil 0 langkah juga.)
Misalnya, jalur dari fooabc
ke fooxyz
terlihat seperti:
fooabc
fooab
fooa
foo
foox
fooxy
fooxyz
Tugas
Diberikan daftar kata-kata, tulis sebuah program yang mundur-dan-mengetik ulang jalannya dari string kosong, ke semua kata dalam daftar berturut-turut, kembali ke string kosong. Keluarkan semua string perantara.
Misalnya, mengingat daftar input ["abc", "abd", "aefg", "h"]
, output harus:
a
ab
abc
ab
abd
ab
a
ae
aef
aefg
aef
ae
a
h
Aturan
Anda dapat mengembalikan atau mencetak daftar string, atau string tunggal dengan beberapa pembatas pilihan. Anda dapat secara opsional menyertakan string kosong awal dan akhir. Input dijamin mengandung setidaknya satu kata, dan setiap kata dijamin hanya mengandung huruf ASCII huruf kecil ( a
- z
). Sunting: string berturut-turut dalam input dijamin tidak sama satu sama lain.
Ini adalah kode-golf ; kode terpendek dalam byte menang.
Implementasi referensi di Python 3: Cobalah online!
["abc","abc"]
?
a,abc,abcde,abc,a,abc,abcde