以下是从一个字符串退格并重新键入的方法:
- 从第一个字符串开始。
- 最后删除字符,直到结果是第二个字符串的前缀。(这可能需要0步。)
- 在末尾添加字符,直到结果等于第二个字符串。(这也可能需要0步。)
例如,从fooabc
到的路径fooxyz
如下所示:
fooabc
fooab
fooa
foo
foox
fooxy
fooxyz
任务
给定一个单词列表,编写一个程序,该程序从空字符串到列表中的所有单词依次退格并重新键入,然后返回到空字符串。输出所有中间字符串。
例如,给定输入list ["abc", "abd", "aefg", "h"]
,输出应为:
a
ab
abc
ab
abd
ab
a
ae
aef
aefg
aef
ae
a
h
规则
您可以返回或打印字符串列表,也可以返回带有某些定界符的单个字符串。您可以选择包括初始和最终的空字符串。确保输入至少包含一个单词,并且每个单词只能包含小写ASCII字母(a
– z
)。编辑:保证输入中的连续字符串彼此不相等。
这是代码高尔夫球;以字节为单位的最短代码获胜。
Python 3中的参考实现:在线尝试!
["abc","abc"]
?
a,abc,abcde,abc,a,abc,abcde