易错点
这题的读入非常坑,文件末尾存在\r,因此读入时需要将其转换为列表再遍历。
或者也可以直接给print的输出加个特判。
下附代码
转为列表
def dfs(mid, bw):
ch = bw[-1]
pos = -1
for i in range(0, len(mid)):
if mid[i] == ch:
pos = i
break
if pos != -1:
print(ch, end="")
if mid[:pos]:
dfs(mid[:pos], bw[:pos])
if mid[pos + 1 :]:
dfs(mid[pos + 1 :], bw[pos : len(bw) - 1])
s1 = input()
s2 = input()
ss1 = list(s1)
ss2 = list(s2)
ss1[-1] = ""
ss2[-1] = ""
dfs(ss1, ss2)
特判
def dfs(mid, bw):
ch = bw[-1]
pos = -1
for i in range(0, len(mid)):
if mid[i] == ch:
pos = i
break
if pos != -1:
if ch!='\n' and ch!='\r':
print(ch, end="")
if mid[:pos] != "":
dfs(mid[:pos], bw[:pos])
if mid[pos + 1 :] != "":
dfs(mid[pos + 1 :], bw[pos : len(bw) - 1])
s1 = input()
s2 = input()
s1.replace("\n", "")
s1.replace("\r", "")
s2.replace("\n", "")
s2.replace("\r", "")
dfs(s1, s2)