我非常接近完成我的程序,但我遇到了一个小问题。I/O 应该是这样的:
I: fanlc2("human", "chimpanzee")
O: [4, 'h#man', '#h#m#an###']
但是我的,执行以下操作:
I: fanlc2("human", "chimpanzee")
O: [4, '#', '#h#']
有人可以编辑我的代码,以便我得到正确的答案。我想不通。谢谢:
def fanlc2(S1, S2):
if S1 == '' or S2 == '':
return [0, S1, S2]
if S1[0] == S2[0]:
temp = fanlc2(S1[1:], S2[1:])
return [temp[0]+1, S1[0]+temp[1], S2[0]+temp[2]]
t1 = fanlc2(S1[1:], S2)
t2 = fanlc2(S1, S2[1:])
if t1[0] > t2[0] or t1[0] == t2[0]:
return [t1[0], '#'+t1[1], t2[1]]
return [t2[0], t1[1], '#'+t2[1]]
以下是程序应该返回的更多 I/O:
fanlc2("x", "y")
[0, '#', '#']
fanlc2("垃圾邮件", "")
[0, '####', '']
fanlc2(“水疗中心”,“米”)
[0, "###", "#"]
fanlc2("猫", "汽车")
[2, "ca#, "ca#"]
fanlc2(“猫”,“lca”)
[2, "ca#", "#ca"]
fanlc2(“人类”,“黑猩猩”)
[4, 'h#man', '#h#m#an###']