擅长:python、mysql、java
<p>使用辅助函数,通过删除单词的最长前缀(也是后缀<code>s</code>)来裁剪单词<code>t</code>:</p>
<pre><code>def crop(s, t):
for k in range(len(t), -1, -1):
if s.endswith(t[:k]):
return t[k:]
</code></pre>
<p>然后用前面的单词裁剪每个单词:</p>
<pre><code>>>> l = ["volcano", "noway", "lease", "sequence", "erupt"]
>>> ''.join(crop(s, t) for s, t in zip([''] + l, l))
'volcanowayleasequencerupt'
>>> l = ['split', 'it', 'lit']
>>> ''.join(crop(s, t) for s, t in zip([''] + l, l))
'splitlit'
</code></pre>