Đây là cách để backspace-and-gõ lại từ chuỗi này sang chuỗi khác:
- Bắt đầu từ chuỗi đầu tiên.
- Xóa các ký tự ở cuối cho đến khi kết quả là tiền tố của chuỗi thứ hai. (Điều này có thể mất 0 bước.)
- Thêm các ký tự ở cuối cho đến khi kết quả bằng chuỗi thứ hai. (Điều này cũng có thể mất 0 bước.)
Ví dụ: đường dẫn từ fooabc
đến fooxyz
trông giống như:
fooabc
fooab
fooa
foo
foox
fooxy
fooxyz
Bài tập
Đưa ra một danh sách các từ, viết một chương trình backspace-and-retypes theo cách của nó từ chuỗi trống, đến tất cả các từ trong danh sách liên tiếp, trở lại chuỗi trống. Đầu ra tất cả các chuỗi trung gian.
Ví dụ, được đưa ra danh sách đầu vào ["abc", "abd", "aefg", "h"]
, đầu ra phải là:
a
ab
abc
ab
abd
ab
a
ae
aef
aefg
aef
ae
a
h
Quy tắc
Bạn có thể trả về hoặc in danh sách các chuỗi hoặc một chuỗi với một số dấu phân cách lựa chọn. Bạn có thể tùy ý bao gồm các chuỗi trống ban đầu và cuối cùng. Đầu vào được đảm bảo chứa ít nhất một từ và mỗi từ được đảm bảo chỉ chứa các chữ cái ASCII chữ thường ( a
- z
). Chỉnh sửa: các chuỗi liên tiếp trong đầu vào được đảm bảo không bằng nhau.
Đây là môn đánh gôn ; mã ngắn nhất trong byte thắng.
Một triển khai tham chiếu trong Python 3: Dùng thử trực tuyến!
["abc","abc"]
?
a,abc,abcde,abc,a,abc,abcde